ホームページ > バックエンド開発 > PHPの問題 > PHPでHTMLコンテンツの置換を実装する方法

PHPでHTMLコンテンツの置換を実装する方法

藏色散人
リリース: 2023-03-07 19:24:02
オリジナル
3953 人が閲覧しました

php HTML コンテンツを置換する方法: まず HTML サンプル ファイルを作成し、次に「preg_match_all($pattern,htmlspecialchars_decode($a),$match);」メソッドを通じて HTML のコンテンツを変更します。

PHPでHTMLコンテンツの置換を実装する方法

推奨: 「PHP ビデオ チュートリアル

このチュートリアルの動作環境: Windows7 システム、 PHP5. バージョン 6、この方法はすべてのブランドのコンピューターに適しています。

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=[\&#39;|\"](.*?)[\&#39;|\"].*?[\/]?>/";
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=[\&#39;|\"](.*?)[\&#39;|\"].*?[\/]?>/", function($m) use($host){

   if(strpos($m[1],&#39;http://&#39;) || strpos($m[1],&#39;https://&#39;)){
       return $m[0];
   }else{
       $img=preg_replace(&#39;#src="/#is&#39;, &#39;src="&#39;.$host.&#39;/&#39;,$m[0]);
       return $img;
   }
}, $a);
ログイン後にコピー

この方法はあまり使用されませんが、バッチ処理を行う場合の効果は非常に優れています!

個人的にはこの種のクロージャ関数が好きです。コードは非常に読みやすいです。

以上がPHPでHTMLコンテンツの置換を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート