0

我想知道如何在字符串[/img]\n中用 , 替换这些匹配项(\n:新行) 。[/img]

我尝试了以下每一项

$string = preg_replace("#[/img]\n#","[/img]",$string);
$string = preg_replace("/\[\/img\]\\n/","[/img]",$string);
$string = preg_replace("/\[\/img\]\n/si","[/img]",$string);

但是没有任何效果...

$string = preg_replace("\n","Test",$string);

无需[/img]搜索即可正常工作。

我不明白为什么我不能让它工作。

例子

[img=y40h3inre6]Stock options[/img]

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

应该变成以下:

[img=y40h3inre6]Stock options[/img]
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
4

2 回答 2

1

你试试:

$string = preg_replace('~\[/img]\s++~', "[/img]\n", $string);

或这个

$string = preg_replace('~\[/img]\K\s++~', "\n", $string);

\n是换行符,但如果你想匹配'\n'你必须'\\\n'在模式中使用的字符串。

请注意,Rikesh 的新行在某些系统上可能会有所不同(\n、\r\n、\n\r)

于 2013-05-04T05:32:35.133 回答
0

你可以试试str_replace

echo $string = str_replace('[/img]\n',"[/img]",'abcd[/img]\nabcd[/img]\n');

输出

abcd[/img]abcd[/img]

键盘

于 2013-05-04T05:30:03.693 回答