千家信息网

php是否能替换html的文本内容

发表于:2024-10-24 作者:千家信息网编辑
千家信息网最后更新 2024年10月24日,php是否能替换html的文本内容,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。php能替换html的文本内容,其替换方法是:1、通
千家信息网最后更新 2024年10月24日php是否能替换html的文本内容

php是否能替换html的文本内容,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

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="

\"1.png\"/\"undefined\"/\"undefined\"/\"undefined\"/\"undefined\"/

"

里面有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的文本内容问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

0