我想这个原始字符串转换为使用PHP下面的结果。PHP的str_replace功能问题
ORIGINAL: "The quick <font color="brown">brown</font> fox jumps over the lazy dog"
RESULT:"god yzal eht revo spmuj xof <font color="brown">nworb</font> kciuq ehT"
我到目前为止所做的工作如下所述。
首先,剥离ORIGINAL中的HTML标签。
$originalStr = "The quick <font color='brown'>brown</font> fox jumps over the lazy dog";
$stripTags = strip_tags($originalStr);
这导致以敏捷的棕色狐狸跳过懒狗,
其次,我逆转的结果,这个词“棕色”使用strrev功能
$reverseStr = strrev($stripTags);
$brown = strrev("brown");
这导致神yzal eht revo spmuj xof nworb kciuq ehT
第三,我我试图用str_replace函数从reverseStr中查找$ brown,并用$ openFont $ brown $ closeFont替换它,如下所示。
$openFont = "<font color='brown'>";
$closeFont = "</font>";
$result = str_replace($brown, $openFont.$brown.$closeFont, $reverseStr);
echo "result -->" . $result . "<br/><br/><br/>";
这导致上帝yzal EHT雷沃spmuj XOF kciuq EHT,不一样的结果。
看起来好像在font()标记中的特殊字符是可能阻止str_replace替换String的问题。
$result = str_replace($brown, "TEST", $reverseStr);
echo "result -->" . $result . "<br/><br/><br/>";
这导致上帝yzal EHT雷沃spmuj XOF TEST kciuq EHT
有谁知道str_replace函数不接受特殊字符?并知道我应该如何解决这个问题?
如果还有其他方法可以解决这个问题,我也很乐意听到您的建议。
(*这是我试图在算法的测试网站,以解决实际问题之一)
更新:我觉得这么愚蠢地认为,其中的字体标签了。由于标签是为了改变字体的颜色,所以它在开始时是完美的。非常感谢大家!
在变量中的特殊字符应该什么都没有做的最终结果。 '$ openFont =“”; $ closeFont =“”; $ brown = strrev(“brown”); $ reverseStr ='god yzal eht revo spmuj xof nworb kciuq ehT'; $ result = str_replace($ brown,$ openFont。$ brown。$ closeFont,$ reverseStr);'工作得很好。确保在此之前代码中没有其他错误,尤其是声明'$ reverseStr;'变量。 – Aydin4ik
完美工作:https://eval.in/850081 –
这感觉就像其中一个可怕的工作面试白板问题 – Phil