标签:php
我正在尝试使用str_replace更改我的代码:
$changeli = "li id=\"head{$raiz}\" class=\"head\"";
$changeli2 = "li id=\"foot{$raiz}\" class=\"foot\"";
echo $changeli; // result li id="head-all" class="head"
echo $changeli2; // result li id="foot-all" class="foot"
$footer = str_replace($changeli, $changeli2, $footer );
它不起作用,但是当我删除双引号之前的文本时,它的工作原理如下:
$changeli = "head{$raiz}";
$changeli2 = "foot{$raiz}";
echo $changeli; // result head-all
echo $changeli2; // result foot-all
$footer = str_replace($changeli, $changeli2, $footer );
有人能帮我吗?
解决方法:
更好的是,尝试使用’代替“作为外引号,这样您就不必完全转义.并将$raiz与字符串连接起来.问题很可能是应该在html中转义的字符.
$changeli = 'li id="head'.$raiz.'" class="head"';
$changeli2 = 'li id="foot'.$raiz.'" class="foot"';
// value of $raiz is "-all" at this point (for clarity of code)
echo $changeli; // result should be li id="head-all" class="head"
echo $changeli2; // result should be li id="foot-all" class="foot"
$footer = htmlspecialchars_decode(str_replace(htmlspecialchars($changeli), htmlspecialchars($changeli2), htmlspecialchars($footer)));
标签:php
来源: https://codeday.me/bug/20191118/2030618.html