我有很長的字符串一些特殊字符,特別是引號(」「)和大於,小於括號。(<,>),並且它搞亂了我的HTML。PHP替代preg_replace()?
我在想,如果有一個簡單的方法,用它們的ASCII等價物來替換這些所有出現(& GT;,LT &;等),我花了很多時間寫我自己的功能之前,我在可怕的正則表達式:/
謝謝您
我有很長的字符串一些特殊字符,特別是引號(」「)和大於,小於括號。(<,>),並且它搞亂了我的HTML。PHP替代preg_replace()?
我在想,如果有一個簡單的方法,用它們的ASCII等價物來替換這些所有出現(& GT;,LT &;等),我花了很多時間寫我自己的功能之前,我在可怕的正則表達式:/
謝謝您
有htmlentities()
和htmlspecialchars()
可用,這取決於你確切的需要。如果你只是想打破,
,<
和>
,你可以做
$new_str = htmlspecialchars($str, ENT_NOQUOTES);
我相信你正在尋找htmlspecialchars。
該函數將用它們的html實體等價物替換所有的html字符。
例:
<?php
$before="<code>";
$after=htmlspecialchars($before);
echo $after; //<code>
?>
要確保,如果你要同時更換單引號使用ENT_QUOTES作爲第二個參數。
您可以使用php的str_replace函數。檢查php手冊http://php.net/manual/en/function.str-replace.php。
$text = str_replace('<', '', $text);
此代碼通過將其替換爲空字符串來從$ text中移除小於號的符號。
但我強烈建議您使用preg_replace()探索正則表達式方法。速度更快,功能更強大。
美麗。實體是我所需要的。謝謝。 –