如何使用正則表達式如何更換所有的HTML標籤中使用正則表達式
嘗試如下,但無法取代一個PHP字符串中的所有HTML標籤一個PHP字符串,
$r = "<h1>Hai</h1><br/><p>Hello world</p>";
$result = preg_replace('<(.*)>', '', $r);
echo $result ;
預期結果:
Hai Hello world
剛剛在字符串格式
如何使用正則表達式如何更換所有的HTML標籤中使用正則表達式
嘗試如下,但無法取代一個PHP字符串中的所有HTML標籤一個PHP字符串,
$r = "<h1>Hai</h1><br/><p>Hello world</p>";
$result = preg_replace('<(.*)>', '', $r);
echo $result ;
預期結果:
Hai Hello world
剛剛在字符串格式
地方問號後.*
$r = "<h1>Hai</h1><br/><p>Hello world</p>";
$result = preg_replace('<(.*?)>', '', $r);
echo $result ;
.*
是一個貪婪的正則表達式,將所有符合直到最後>
字符。 .*?
是懶惰,並會匹配,直到第一個>
字符。
您的正則表達式失敗,因爲*
是一個貪婪的操作符 - 它會消耗包括>
字符在內的所有字符。請嘗試以下操作:
$result = preg_replace('<(.*?)>', '', $r);
然而,正如@MateuszMrozewski指出,使用帶標籤的功能很可能是解決這個問題的最好辦法。
如何使用strip_tags而不是regex? http://php.net/manual/en/function.strip-tags.php
with strip_tags,輸出結果將是「HaiHello world」 – lulco 2015-03-10 20:17:32
你需要使用正則表達式嗎? PHP中有strip-tags函數:http://www.php.net/manual/en/function.strip-tags.php – 2012-02-27 08:38:37
@MateuszMrozewski將它作爲答案發布。 – kapa 2012-02-27 08:40:14
[必須閱讀](http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags)。 – kapa 2012-02-27 08:41:31