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%
网友评论0