我的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;
答案 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;);