6

我有一个字符串,我想将多个外观转换-为一个-

我已经尝试过preg_replace('/--+/g', '-', $string),但这根本没有返回任何东西..

4

3 回答 3

4

你不应该g在模式中使用,你可以简化你的正则表达式:

preg_replace('/-+/', '-', $string);

不需要反斜杠转义。

http://ideone.com/IOlpv上:

<?
$string = "asdfsdfd----sdfsdfs-sdf-sdf";
echo preg_replace('/-+/', '-', $string);
?>

输出:

asdfsdfd-sdfsdfs-sdf-sdf
于 2012-09-07T11:44:41.643 回答
3
preg_replace('/([\-]+)/', '-', $string)
于 2012-09-07T11:41:14.857 回答
1

您的代码给出以下错误:

警告:preg_replace():未知修饰符“g”

没有g修饰符。尝试:

preg_replace('/--+/', '-', $string)
于 2012-09-07T11:43:32.590 回答