首页 > Web开发 > 详细

PHP替换HTML文件中所有a标签的HREF属性,其他不变

时间:2019-08-28 21:16:37      阅读:63      评论:0      收藏:0      [点我收藏+]

转载出处:http://www.luanxin.top/index.php/archives/21/

仿站的时候扒下来的代码a链接总是指向别的地方,要一个一个改的话都要累死了,展示的时候随便点一下就乱跳,很烦,于是想用php写一个能改变a链接href属性的代码,代码如下:

<?php // 替换a标签中的href属性值
function a_replace_href($str) {
  $preg = ‘/href=(\"|\‘)(.*?)(\"|\‘)/i‘;
  $replacestr = ‘href="#"‘;
  $res = preg_replace($preg, $replacestr, $str);
  return $res;
}
// 获取字符串中的所有a标签
function from_str_get_a($str){
    $preg = ‘/<a .*?>/i‘;
    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);
?>

原理就是采用正则匹配然后替换,如果你们有更好的想法或优化欢迎留言评论,分享一下您的心得!
测试效果如下:
源文件代码:
技术分享图片
替换后文件代码:

技术分享图片

PHP替换HTML文件中所有a标签的HREF属性,其他不变

原文:https://www.cnblogs.com/luanxin/p/11426207.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!