Heim  >  Artikel  >  Backend-Entwicklung  >  php preg_match_all ersetzt in Kombination mit str_replace alle Bilder im Inhalt

php preg_match_all ersetzt in Kombination mit str_replace alle Bilder im Inhalt

高洛峰
高洛峰Original
2017-01-09 09:59:092129Durchsuche

Die gesammelten Bild-IMG-Tags enthalten viele Javascript-Skripte und nutzlose Informationen. Sie müssen das ersetzen, was Sie möchten, z. B. alt. Schauen Sie sich zuerst den zu filternden Inhalt an, ich habe ihn beiläufig kopiert:

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

Um das Obige in die Form zu ersetzen:

<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”这个地址要保留,因为图片用的都是源地址

Die Methode ist ungefähr: Lesen Sie zuerst den gesamten IMG im Inhalts-Tag extrahieren Sie dann den SRC jedes IMG-Tags, kombinieren Sie ihn zu seinem eigenen Inhalt und ersetzen Sie ihn schließlich.
preg_match_all ist die Funktion, die ich möchte. Sie kann ein dreidimensionales Array von Inhalten erstellen, die mit regulären Ausdrücken übereinstimmen. Wenn Sie nicht viel darüber wissen, lesen Sie bitte das Handbuch Ich werde es hier nicht im Detail vorstellen. Funktionscode:

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; 
}

Weitere Informationen zu PHP preg_match_all in Kombination mit str_replace zum Ersetzen aller img-bezogenen Artikel im Inhalt finden Sie auf der chinesischen PHP-Website!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn