php是否能替换html的文本内容,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
创新互联自2013年起,是专业互联网技术服务公司,拥有项目网站设计、做网站网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元阜宁做网站,已为上家服务,为阜宁各地企业和个人服务,联系电话:18980820575
php能替换html的文本内容,其替换方法是:1、通过“preg_match_all($pattern,htmlspecialchars_decode($a)...);”方法替换;2、通过preg_replace_callback方法替换。
本文操作环境:Windows7系统、PHP7.1、Dell G3电脑。
php能替换html的文本内容吗?
php替换html里面的内容
已知下面一段html
$a=""
里面有http和https还有本地相对路径的url
普遍用法:
$pattern="//"; preg_match_all($pattern,htmlspecialchars_decode($a),$match); if(!empty($match[1])){ print_r($match[1]); }else{ echo "没得"; }
先匹配所有在循环$match[1]
循环之后foreach($match[1] as $val){preg_replace('#src="'.$val.'"/#is', 'src="aaaaa/',$a);}
这样我觉得挺麻烦的
升级用法:
$host="http://mp.csdn.net" $newContent = preg_replace_callback("//", function($m) use($host){ if(strpos($m[1],'http://') || strpos($m[1],'https://')){ return $m[0]; }else{ $img=preg_replace('#src="/#is', 'src="'.$host.'/',$m[0]); return $img; } }, $a);
这个方法虽然用得少但是批处理的时候看效果超级好哟!
这种闭包函数我个人挺喜欢的。代码阅读性很高
关于php是否能替换html的文本内容问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。