我想這個原始字符串轉換爲使用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