亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從字符串中刪除除特定正則表達式之外的所有標簽

從字符串中刪除除特定正則表達式之外的所有標簽

PHP
SMILET 2023-09-15 09:51:34
我寫了這個正則表達式:<span class="icon(.*?)><\/span>我有這個字符串:<p style="text-align: center;"><span style="font-size: 1em;">Text 1 <span style="font-weight: bold;">TEXT 2</span><span style="color: #e67e23; font-size: 1.2em;"><span class="icon x-small icon-play"></span>&nbsp;</span><span style="color: #e03e2d;">Text 3</span> <span style="color: #a68965;">Text 4 </span></span><span style="font-size: 0.7em; color: #000000;">Text 5</span></p>我想刪除該字符串中的所有標簽,除了上面的正則表達式產生的標簽之外。所以我會得到這個最終結果:Text 1 Text 2<span class="icon x-small icon-play"></span>&nbsp;Text 3 Text 4 Text 5正如您在此輸出中看到的,除了我要查找的標簽之外,所有標簽都已被清除。我查看了 PHP,strip_tags但不幸的是它們沒有將正則表達式作為第二個參數,因此沒有執行我正在尋找的操作。我嘗試用 a 來做preg_replace,但無法創建如此復雜的正則表達式。知道什么是最好的方法嗎,無論是使用正則表達式還是不使用正則表達式?
查看完整描述

1 回答

?
慕標5832272

TA貢獻1966條經驗 獲得超4個贊

使用

preg_replace('/<span?class="icon.*?><\/span>(*SKIP)(*F)|<[^<>]+>/',?'',?$string)


該表達式將查找<span class="icon....></span>字符串來忽略它們(*SKIP)(*F),然后所有其他標簽將被刪除(與 匹配<[^<>]+>)。



查看完整回答
反對 回復 2023-09-15
  • 1 回答
  • 0 關注
  • 109 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號