Maison >développement back-end >Problème PHP >Comment remplacer une balise par une expression régulière php

Comment remplacer une balise par une expression régulière php

藏色散人
藏色散人original
2020-09-29 09:19:442372parcourir

Comment remplacer régulièrement les balises a en PHP : placez d'abord toutes les balises a de la page Web dans un tableau ; puis utilisez l'expression régulière "preg_match_all($reg1,$str,$aarray);" les liens et le contenu des balises a.

Comment remplacer une balise par une expression régulière php

Recommandation : "Tutoriel vidéo PHP"

php Correspond régulièrement au contenu d'une balise a au niveau d'une balise

<?php
header("Content-type: text/html; charset=utf-8");
$str=file_get_contents("https://www.cn-teacher.com/kf/");
//拿出网页中所有《a》标签放到数组
$reg1="/<a .*?>.*?<\/a>/";
$aarray;//这个存放的就是正则匹配出来的所有《a》标签数组
preg_match_all($reg1,$str,$aarray);
//拿出《a》标签中的链接和标签内容
$hrefarray;//这个存放的是匹配出来的href的链接地址
$acontent;//存放匹配出来的a标签的内容
$reg2="/href=\"([^\"]+)/";
for($i=0;$i<count($aarray[0]);$i++){
preg_match_all($reg2,$aarray[0][$i],$hrefarray);
echo $hrefarray[1][0]."\r\n";//这里输出的就是遍历出来的所有a标签的链接
//拿出《a》标签的内容
$reg3="/>(.*)<\/a>/";
preg_match_all($reg3,$aarray[0][$i],$acontent);
echo $acontent[1][0]."\r\n";//这里输出的就是a标签的文字了
}
?>

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