Maison >développement back-end >tutoriel php >php preg_match_all combiné avec str_replace remplace toutes les images dans le contenu

php preg_match_all combiné avec str_replace remplace toutes les images dans le contenu

高洛峰
高洛峰original
2017-01-09 09:59:092179parcourir

Il y a beaucoup de scripts javascript et d'informations inutiles dans les balises img des images collectées. Vous devez remplacer ce que vous voulez, comme alt. Regardez d'abord le contenu à filtrer, je l'ai copié avec désinvolture :

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

Pour remplacer ce qui précède dans le formulaire :

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

La méthode est en gros : lisez d'abord tout l'IMG dans la balise content, puis extrayez le SRC de chaque balise IMG, combinez-le dans son propre contenu et enfin remplacez-le.
preg_match_all est la fonction que je veux. Elle peut créer un tableau tridimensionnel du contenu correspondant à l'expression régulière. Vous pouvez les parcourir pour les trouver et les remplacer. Si vous n'en savez pas grand-chose, veuillez vérifier le. manuel. Je ne le présenterai pas en détail ici. Code de fonction :

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

Pour plus de php preg_match_all combiné avec str_replace pour remplacer tous les articles liés à img dans le contenu, veuillez faire attention au site Web PHP chinois !


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn