注意,是刪除標簽之外的所有空格,之前在采集內容的時候把標簽屬性這玩意給忘了,整的我都白采了……比如,采集到的結果中有圖片,那代碼中就有這個樣子的東西
<img src="">
把空格去掉,這不,完犢子了~~~~
我不太會正則,不知道用正則有沒有辦法做到,所以只好用本辦法來了,大概原理是:
1、讀取所有標簽字符,給它換個馬甲
2、替換空格
3、把馬甲再換回去
具體代碼如下:
$c=htmlspecialchars_decode($value['cont']);//注意解碼啊,要不找不到了 preg_match_all('/<.*?>/i',$c,$rst);//查找出所有標簽字樣,包括開始標簽和結束標簽,如<p></p><img ...>等等 if($rst[0]){ foreach ($rst[0] as $key => $v) { $c=str_ireplace($v,'{'.md5($v).'}',$c);//把匹配到的html標簽給它換個馬甲 } } $c=preg_replace('/\s+/','',$c);//替換空格 foreach ($rst[0] as $key => $v) { $c=str_ireplace('{'.md5($v).'}',$v,$c);//把馬甲再換成對應的html標簽 } //最后記得更新入庫
© 致遠 2020-12-20,原創內容,轉載請注明出錯:php刪除內容中除標簽之外的所有空格