刪除標籤我有這個網站的字符串:PHP - 從字符串
<div>
<span> 1 </span>
<a href="#"> <span> 2 </span> </a>
<a href="#"> <span> 3 </span> </a>
<a href="#"> <span> 4 </span> </a>
....
</div>
如何從鏈接(<a>
)內取出<span>
標籤?
刪除標籤我有這個網站的字符串:PHP - 從字符串
<div>
<span> 1 </span>
<a href="#"> <span> 2 </span> </a>
<a href="#"> <span> 3 </span> </a>
<a href="#"> <span> 4 </span> </a>
....
</div>
如何從鏈接(<a>
)內取出<span>
標籤?
它似乎是你試圖從當前頁面刪除鏈接。如果是這樣,你可能想看看這個教程。這可以通過3種方式完成。使用javascript,css或php和css。如果是這樣,你可能想看看他的tutorial。
$string = str_replace("<span>", "", $string);
$string = str_replace("</span>", "", $string);
如果你只是想刪除a
標籤內span
標記,且格式爲您發佈正是那麼下面符合這一規範。
$string = str_replace('<a href="#"> <span>', '<a href="#">', $string);
$string = str_replace("</span> </a>", "</a>", $string);
如果格式變化可言,你可能需要一個正則表達式或使用DomDocument
解析HTML。
你要一些報價單的問題。 StackOverflow不會讓我編輯你的答案......一個人怎麼做到這一點? – 2010-07-09 01:04:41
@nute:我認爲你必須有2000的聲望才能編輯其他人的東西,除非這個東西是社區維基。 – icktoofay 2010-07-09 01:11:04
@nute,謝謝。我只是複製和粘貼。必須愛語法高亮。 – 2010-07-09 01:18:58
你是否還想移除<span>
標記的內容?如果是這樣,請試試這個:
$string = preg_replace("/<span[^>]+\>/i", "", $string);
否則,nute發佈的str_replace方法將正常工作。
沒有,只是標籤''和'',只有從內部鏈接永遠 – Alex 2010-07-09 01:05:37
的strip_tags()
function是爲此而設計的,並允許您指定不應被剝奪的HTML標籤:
$stripped = strip_tags($string, '<div><a>');
指定'<div><a>'
作爲第二個參數保留<div>
和錨元素。
或者你可以使用這個:
$new_string = preg_replace('/(\<span\>|\<\/span\>)/', '', $string);
指向教程的鏈接不是有用的答案。正確的答案是使用帶有$ allowable_tags參數的strip_tags,如下面的@Peter Gluck所述。 – axlotl 2018-02-12 15:56:16