ホームページ > バックエンド開発 > PHPチュートリアル > php preg_match_allとstr_replaceを組み合わせると、コンテンツ内のすべての画像が置き換えられます

php preg_match_allとstr_replaceを組み合わせると、コンテンツ内のすべての画像が置き換えられます

高洛峰
リリース: 2023-03-04 17:08:01
オリジナル
2175 人が閲覧しました

収集した画像のimgタグにはJavaScriptスクリプトや無駄な情報が多く含まれていますので、altなど必要なものを置き換える必要があります。まずフィルタリング対象のコンテンツを見て、何気なくコピーしました:

sdfsdfsdf<img alt=”3568df.com靓图” src=”http://www.aaa.com/upimg /080330/120D1232295023X0.gif” src=”http://www.eee.com/upimg/080330 /120D1232295023X0.gif” width=1 onclick=”javascript:; ” onload=”javascript:if(this.width>500){this.resized=true; this.style.width=500;}”>sfsdfsdfasdfsadf<img alt=”3568df.com靓图 ” src=”http://www.3568.com/upimg/080330 /120D1232295023X0.gif” src=”http://www.ddd.com/upimg/080330 /120D1232295023X0.gif” width=1 onclick=”javascript:; ” onload=”javascript:if(this.width>500){this.resized=true; this.style.width=500;}”>sdfsadf<img alt=”3568df.com靓图 ” src=”http://www.xxx.com/upimg/080330/120D1232295023X0.gif” src=”http://www.sss.com/upimg/080330/120D1232295023X0.gif” width=1 onclick=”javascript:;” onload=”javascript:if(this.width>500){this.resized=true;this.style.width=500;}”>sdfsdf
ログイン後にコピー

上記を形に置き換えるには:

<img alt=”我的信息” src=”http://www.xxx.com/upimg /080330/120D1232295023X0.gif” src=”http://www.xxx.com/upimg/080330 /120D1232295023X0.gif” /> 其中src=”http://www.xxx.com/upimg/080330 /120D1232295023X0.gif” src=”http://www.xxx.com/upimg/080330 /120D1232295023X0.gif”这个地址要保留,因为图片用的都是源地址
ログイン後にコピー

方法は大まかに、まずコンテンツ内のすべての IMG タグを読み取り、次にそれぞれの SRC を抽出します。 IMG タグを作成し、それを独自のコンテンツに結合し、最後に置き換えます。
preg_match_all は、正規表現によって一致するコンテンツの 3 次元配列を作成できる関数です。よくわからない場合は、マニュアルを確認してください。ここでは詳しく紹介しません。関数コード:

function replace($str) 
{ 
preg_match_all(”/<img(.*)(src=\”[^\"]+\”)[^>]+>/isU”, $str, $arr); 
for($i=0,$j=count($arr[0]);$i<$j;$i++){ 
$str = str_replace($arr[0][$i],”<img alt=\”我的信息” “.$arr[2][$i].” />”,$str); 
} 
return $str; 
}
ログイン後にコピー

php preg_match_all を str_replace と組み合わせてコンテンツ内のすべての img 関連記事を置き換える詳細については、PHP 中国語 Web サイトに注目してください。


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