实例:
把字符串 “Hello world!” 中的字符 “world” 替换成 “Peter”:
<?php
echo str_replace("world","Peter","Hello world!");
?>
//输出结果为 hello peter
echo str_replace("原本显示的字段","替换后显示的字段","文本");
今天在采集的时候遇到了A地方的代码和B地方的代码不完全匹配的问题
A代码示例
<td class='baonv'><a href="https://www.baonv.com">豹女网</a></td>
B代码示例
<td class='baonv'>
<img="https://www.baonv.com/logo.png">豹女网
</td>
使用 preg_match_all 函数
<?php
//抓取A数据
preg_match_all("/<td class='baonv'>(.*?)</td>, $str, $name);
//可以正常返回array数组
//抓取B数据则为空,因为html文本进行了换行
//解决办法: 在采集转码的语句后面加上以下语句
$str = mb_convert_encoding($str,'utf-8',"GBK"); // 采集转码
$str = str_replace("rn", '', $str); //清除换行符
$str = str_replace("n", '', $str); //清除换行符
$str = str_replace("t", '', $str); //清除制表符
?>
随后返回的array数组就是你想要的数据了
文中包换斜杠的地方已被主题安全机制给转义,复制使用时多留心