2015-05-05 34 views
-1

我目前正在使用:比str_replace更好的替換內容的方法?

$content = $_POST['content']; 
$content = str_replace("<","&lt;",$content); 
$content = str_replace(">","&gt;",$content); 
$content = str_replace('"',"&quot;",$content); 

要替換字符,以便我能夠展現在我的網站的代碼,難道還有比這樣做,這將有同樣的結果更好的方法?

+1

是的,它叫['htmlentities()'](http://php.net/htmlentities) – Havelock

+0

你的問題不清楚。你想要代替東西還是將代碼顯示爲代碼從代碼和用戶輸入? –

+0

這個函數將會取代'<, >,「,和&'與他們的實體,http://php.net/htmlspecialchars。 – chris85

回答

1

您可以使用數組作爲str_replace的參數。

$content = str_replace(array('<', '>', '"'), array('&lt;', '&gt;', '&quot'), $_POST['content']); 

或者使用<xmp>標記,如果您想在輸出中顯示HTML標記。

0
highlight_string($content); 

這將顯示您的代碼突出顯示。無需替換字符串。

參考:http://php.net/manual/en/function.highlight-string.php

+0

我從來沒有回答過這樣的問題,但我們要離題。 –

+0

道歉 - 在我的部分混淆。切換太多帖子。 –

+0

@JayBlanchard *在週末指責Sam * ;-) –