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

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

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

推荐:《PHP视频教程》

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

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

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

例如:替换一个html页面中的所有a标签

function getAarr($str){    //拿出网页中所有a标签放到数组    $reg1="/<a[\\\\s\\\\S]*?>[\\\\s\\\\S]*?<\\\\/a>/";    $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] = "<a target='_blank' href='".$urls[$i]['url']."' title='".$urls[$i]['name']."'>".$urls[$i]['name']."</a>";        }else{            $urls[$i] = "<a target='_blank' href='".$urls[$i]['url']."' title='".$urls[$i]['name']."'>".$urls[$i]['name']."</a>";        }        if ($begin!==false){            $sou_str = substr_replace($sou_str,$urls[$i],$begin,$length);        }    }    return $sou_str;}

关于作者: 宏图SEO小编

为您推荐

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注