2014-10-28 46 views
1

我有這行代碼和\是產生問題(至少在崇高的文本高亮。我怎麼能逃脫這個角色?如何在PHP和Javascript中轉義字符?

text = text.replace(":\","<img src='images/Smilleys_08.png' class='smilley' />"); 
text = text.replace(":-\","<img src='images/Smilleys_08.png' class='smilley' />"); 

而且相同的代碼需要在PHP和它去這樣

$tempText = str_replace(":\","<img src='images/Smilleys_08.png' class='smilley' />",$tempText); 
$tempText = str_replace(":-\","<img src='images/Smilleys_08.png' class='smilley' />",$tempText);  
+3

「\」 一般被轉義爲 「\\」 – 2014-10-28 13:32:31

+2

另一個反斜槓:\\ – vaso123 2014-10-28 13:33:13

回答

1

就像你會轉義任何其它字符:在它的前面添加一個\

text = text.replace(":\\","<img src='images/Smilleys_08.png' class='smilley' />"); 

這兩個PHP都算作JavaScript。

工作例如:

alert(":\\ bla bla :\\ test".replace(":\\","<img src='images/Smilleys_08.png' class='smilley' />"));

只要記住一個字符串替換隻替換搜索字符串的第一次出現,如圖演示。

爲了解決這個問題,試試這個正則表達式替換:

alert(":\\ bla bla :\\ test".replace(/:\\/g,"<img src='images/Smilleys_08.png' class='smilley' />"));

+0

我這樣做,它的工作原理。唯一的問題是,在放置圖像後,剩餘的\仍然可見。 – skoumas 2014-10-28 13:33:44

+0

替換前文本變量的內容是什麼? – vaso123 2014-10-28 13:34:47

+0

評論文字。示例:文本文本文本文本:\ :)文本;) – skoumas 2014-10-28 13:35:19