Maison > développement back-end > Problème PHP > Comment implémenter le remplacement du contenu HTML en PHP

Comment implémenter le remplacement du contenu HTML en PHP

藏色散人
Libérer: 2023-03-07 19:24:02
original
3950 Les gens l'ont consulté

Comment remplacer le contenu php html : créez d'abord un exemple de fichier HTML ; puis modifiez le contenu en html via la méthode "preg_match_all($pattern,htmlspecialchars_decode($a),$match);"

Comment implémenter le remplacement du contenu HTML en PHP

Recommandé : "Tutoriel vidéo PHP"

L'environnement d'exploitation de ce tutoriel : système Windows7, PHP5. Version 6, cette méthode convient à toutes les marques d'ordinateurs.

php modifie le contenu en html

On sait que le morceau suivant de 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>"
Copier après la connexion

contient http, https et l'url du chemin relatif local

Utilisation courante :

$pattern="/<img.*?src=[\&#39;|\"](.*?)[\&#39;|\"].*?[\/]?>/";
preg_match_all($pattern,htmlspecialchars_decode($a),$match);
if(!empty($match[1])){
    print_r($match[1]);
}else{
echo "没得";
}
Copier après la connexion

Faites d'abord correspondre tout ce qui se trouve dans la boucle $match[1]

Après la boucle foreach($ match[1 ] as $val){preg_replace('#src="'.$val.'"/#is', 'src="aaaaa/',$a);}

Je pense que ça est assez gênant

Utilisation de la mise à niveau :

$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);
Copier après la connexion

Bien que cette méthode soit rarement utilisée, l'effet est super bon lors du traitement par lots >Personnellement ! comme ce genre de fonction de fermeture. Le code est très lisible

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
php
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal