我想製作一個所謂的文本清理器,以便我可以擺脫一些html元素而不使用strip_tags()
函數。php preg_replace不識別圖案
我正則表達式是這樣的:<em>|</em>|<p[^>]*>|</p[^>]*>|<span[^>]*>|</span[^>]*>|<div[^>]*>|</div[^>]*>| |<table[^>]*>(.*?)</table[^>]*>
我的代碼如下所示:
$string = "some very messy string here ";
$pattern = '<em>|</em>|<p[^>]*>|</p[^>]*>|<span[^>]*>|</span[^>]*>|<div[^>]*>|</div[^>]*>| |<table[^>]*>(.*?)</table[^>]*>';
$replace = ' ';
$clean = preg_replace($pattern, $replace, $string);
echo $clean;
對於那些我無法理解的原因回聲返回任何內容。
謝謝您的時間
更新#1
如果你問我是否想擺脫的表裏面他們的所有內容,答案是肯定的。
這段代碼的目標是什麼 - 爲什麼你想避免使用strip_tags? – AD7six
Strip標籤不會刪除我想要做的表格的內容。 – Mike
你最好不要使用正則表達式來僞解析html。條形標籤會剝離標籤,並且如果您想要刪除表格 - 將例程寫入遠程表格。你會得到奇怪的結果,例如:「