str_replace - 使用&#34时不起作用;< >"

时间:2014-06-17 11:12:56

标签: php special-characters str-replace

我的str_replace有问题。

我已经用curl抓了一个页面,现在我想替换像这样的href id: (所有变量都存在)

$search_result = str_replace("<href=\"?run=".$id."\">", "<href=\"?run=1111\">", $search_result);

问题在于,当我使用&#34;&lt;&#34;和&#34;&gt;&#34; str_replace中的字符不起作用。 谁能告诉我为什么?

我也试过这个(它确实像预期的那样工作):

$test = "< something >";

$test = str_replace("<", "(", $test);

echo $test;

2 个答案:

答案 0 :(得分:-1)

我不确定理解你的问题......

$test = "< something >";

$test = str_replace("<", "(", $test);
$test = str_replace(">", ")", $test);

echo $test;

这给我输出

( something )

所以它有效!

对你的代码做一点修改可以正常工作,试试这个:

$link = "<a href=\"?run=1\">hello world</a>";
$search_result = str_replace('<a href="?run=1">', "<a href=\"?run=1111\">", $link);

echo $search_result;

答案 1 :(得分:-2)

使用此正则表达式替换多次出现,如&lt;和。是我们必须逃脱它们的转义字符,如下所示

value.replace(/&gt; / g,&#39;(&#39;);