在我的代碼,我得到它具有HTML標記,像這樣的字符串:去除多餘的「>」在字符串中PHP
:$string = '<div style="width:100px;">ABC 1234 <span> Test string, testing this string</span></div>';
現在,我使用的preg_replace除去從上述字符串的樣式屬性
$string = preg_replace('/(<[^>]+) style=".*?"/i', '', $string);
刪除樣式標籤後,我設法刪除樣式屬性,以便div標籤最終看起來像<div>
。這個問題,我這樣做之後遇到的是,我現在的跨度結束標記之後得到過量>
因此字符串看起來像現在這樣:
$string = '<div>ABC 1234 <span> Test string, testing this string</span> > </div>';
我的問題是,爲什麼我突然得到一個exccess >
?是否有不同的正則表達式,我可以使用它將擺脫樣式屬性沒有額外的>
出現?或者有什麼辦法可以得到這個?
我試着用str_replace函數兩次,像這樣:
$string = str_replace("\n", "", $string);
$string = str_replace(">>", ">", $string);
但是,這也不能工作。
我不想刪除HTML標籤,只是樣式部分。
[避免使用正則表達式處理HTML(http://stackoverflow.com/a/3577662/19068) – Quentin
您的字符串是不對的,你應該使用類似這個'$ string ='
什麼是您的完整替換代碼?不只是正則表達式。 – SmokeyPHP