Maison  >  Article  >  développement back-end  >  Comment remplacer une balise en php

Comment remplacer une balise en php

藏色散人
藏色散人original
2020-08-29 10:37:232550parcourir

Comment remplacer la balise a en PHP : ouvrez d'abord le fichier PHP correspondant ; puis définissez une méthode "from_str_get_a" ; puis utilisez la méthode "str_replace" pour rechercher et remplacer la chaîne.

Comment remplacer une balise en php

Recommandé : "Tutoriel vidéo PHP"

Le code est un lien que j'ai récupéré en imitant toujours le site Web pointe vers A d'autres endroits, ce serait fatiguant de changer un par un, lors de l'affichage, cela sauterait aléatoirement lorsque vous cliqueriez dessus, ce qui est très ennuyeux, j'ai donc voulu utiliser PHP pour écrire un code qui puisse changer l'attribut href. d'un lien. Le code est le suivant :

<?php // 替换a标签中的href属性值
function a_replace_href($str) {
  $preg = &#39;/href=(\"|\&#39;)(.*?)(\"|\&#39;)/i&#39;;
  $replacestr = &#39;href="#"&#39;;
  $res = preg_replace($preg, $replacestr, $str);
  return $res;
}
// 获取字符串中的所有a标签
function from_str_get_a($str){
    $preg = &#39;/<a .*?>/i&#39;;
    preg_match_all($preg, $str, $imgArr);
    return $imgArr[0];
}
$str = file_get_contents("index.html");
$data = from_str_get_a($str);//获取字符串中的a标签
$data1 = a_replace_href($data);//替换后应该显示的a标签
$res = $str;
// 反复对字符串进行查找替换
foreach ($data as $key => $value) {
    $res = str_replace($value,$data1[$key],$res,$i);
}
// 另存文件
file_put_contents("index1.html",$res);
?>

Le principe est d'utiliser une correspondance régulière puis de remplacer Si vous avez de meilleures idées ou optimisations, merci de laisser un commentaire et de partager votre expérience !
Les résultats des tests sont les suivants :
Code du fichier source :
Comment remplacer une balise en php
Code du fichier remplacé :

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!

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