php是否能替換html的文本內容,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
創新互聯自2013年起,是專業互聯網技術服務公司,擁有項目網站設計、做網站網站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元阜寧做網站,已為上家服務,為阜寧各地企業和個人服務,聯系電話:18980820575
php能替換html的文本內容,其替換方法是:1、通過“preg_match_all($pattern,htmlspecialchars_decode($a)...);”方法替換;2、通過preg_replace_callback方法替換。
本文操作環境:Windows7系統、PHP7.1、Dell G3電腦。
php能替換html的文本內容嗎?
php替換html里面的內容
已知下面一段html
$a="<p><img src=\"/upload/store/1/ue/image/1568282125833264.png\" title=\"1568282125833264.png\" alt=\"1.png\"/><img src=\"http://dimg04.c-ctrip.com/images/300q12000000rq2t956CB.jpg\" alt=\"undefined\"/><img src=\"https://dimg04.c-ctrip.com/images/300m12000000sdsca92E2.jpg\"/><img src=\"https://dimg04.c-ctrip.com/images/300w12000000rutmrD6CB.jpg\" alt=\"undefined\"/><img src=\"https://dimg04.c-ctrip.com/images/300u12000000rorex415F.jpg\" alt=\"undefined\"/><img src=\"http://dimg04.c-ctrip.com/images/300k12000000rsyxgBA05.jpg\" alt=\"undefined\"/></p>"
里面有http和https還有本地相對路徑的url
普遍用法:
$pattern="/<img.*?src=[\'|\"](.*?)[\'|\"].*?[\/]?>/"; preg_match_all($pattern,htmlspecialchars_decode($a),$match); if(!empty($match[1])){ print_r($match[1]); }else{ echo "沒得"; }
先匹配所有在循環$match[1]
循環之后foreach($match[1] as $val){preg_replace('#src="'.$val.'"/#is', 'src="aaaaa/',$a);}
這樣我覺得挺麻煩的
升級用法:
$host="http://mp.csdn.net" $newContent = preg_replace_callback("/<img.*?src=[\'|\"](.*?)[\'|\"].*?[\/]?>/", function($m) use($host){ if(strpos($m[1],'http://') || strpos($m[1],'https://')){ return $m[0]; }else{ $img=preg_replace('#src="/#is', 'src="'.$host.'/',$m[0]); return $img; } }, $a);
這個方法雖然用得少但是批處理的時候看效果超級好喲!
這種閉包函數我個人挺喜歡的。代碼閱讀性很高
關于php是否能替換html的文本內容問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注創新互聯行業資訊頻道了解更多相關知識。
當前標題:php是否能替換html的文本內容
文章出自:http://m.newbst.com/article42/jicghc.html
成都網站建設公司_創新互聯,為您提供域名注冊、App開發、面包屑導航、網站排名、全網營銷推廣、外貿建站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯