php preg_replace包含包含|,[,]符号的字符串

时间:2011-10-24 16:48:25

标签: php preg-replace

我对这个“简单”代码有疑问:

$img_oryg = '<igm class="aligncenter" src="(oryginal img source)" alt="some text | some text">';
$replace_with = '<div class="ivcs_holder"><igm class="aligncenter" src="(oryginal img source)" alt="some text | some text" /></div>';
$content =  preg_replace("#$img_oryg#s", $replace_with , $contetn );
echo $content;

这是一个示例代码,所有内容都在一个循环中编码,它将每个图像与div重叠,并且还有其他一些东西。 问题出在|可以添加到图像的alt-tag。如果它存在,那么代码行为奇怪,结果不正确。

任何人都知道如何处理这样的字符串?

1 个答案:

答案 0 :(得分:0)

只要你在你的正则表达式模式上运行preg_quote就可以了。 |字符在正则表达式中具有特殊含义,因此这就是导致问题的原因。