php正则匹配多个结果,按位置顺序替换结果

php正则匹配多个结果,按位置替换结果

php正则匹配多个结果,按位置顺序替换结果

今天在项目中出现一个难题,就是正则匹配多个结果,然后用数组一个个替换

<?php

function AtuserReplace($str, $replacearr) {
    preg_match_all("/@([\w\x{4e00}-\x{9fa5}]+)/u", $str, $arr);
    for ($i = 0; $i < count($arr[1]); $i++) {
        $str = str_replace($arr[1][$i], $replacearr[$i], $str);

    }
    return $str;
}
echo "替换前<br/>";
$content = '我今天早上看到彩虹了  @小李 @张三 你们那看到了吗  @小李子 @李达  公司有没有看到?<br/> ';
echo $content;
echo "替换后<br/>";
$replacevalue = ['用户a', '用户b', '用户c', '用户d'];
echo AtuserReplace($content, $replacevalue);

...

点击查看剩余70%

{{collectdata}}

网友评论0