php 正则替换所有字符,php正则如何实现全部替换字符串

php正则全部替换字符串的实现方法:首先用preg_match()函数匹配所有字符串;然后遍历数组;接着用strpos函数计算位置;最后用substr_replace函数替换指定位置的字符串即可。

c3d0aae2c74d056877e7a105b569c913.png

php 替换 字符串中的 多个 不同字符

有两个函数可以替换字符串

思路是用preg_match()函数先匹配所有字符串 遍历数组 strpos()计算位置 用substr_replace()来替换指定位置的字符串。

例如:替换一个html页面中的所有a标签function getAarr($str){

//拿出网页中所有a标签放到数组

$reg1="/[\s\S]*?/";

$aarray = array();//这个存放的就是正则匹配出来的所有《a》标签数组

preg_match_all($reg1,$str,$aarray);

return $aarray[0];

}

function replace($sou_str,$urls){

$arr_a = getAarr($sou_str);

shuffle($urls);

foreach($arr_a as $i=> $one){

$begin = strpos($sou_str,$one);//开始位置

$length = strlen($one);//字符串长度

if(!isset($urls[$i])){

$urls[$i]['name'] = str_replace(" ","",strip_tags($one));

$urls[$i]['url'] = "./?".$urls[$i]['name'];

$urls[$i] = "".$urls[$i]['name']."";

}else{

$urls[$i] = "".$urls[$i]['name']."";

}

if ($begin!==false){

$sou_str = substr_replace($sou_str,$urls[$i],$begin,$length);

}

}

return $sou_str;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值