php 文本替换的问题

原始文本 01,02,61,31 ...
替换为 sz01,sz02,sh61,sz31 ...
规则就是 6 开头前面加sh 其余的都是sz
怎么实现呢 感谢各位

先把所有数字都替换成前面加sz的,再把以6开头的数字替换成前面加sh的,这是用正则表达式替换

完整的PHP文本替换程序如下(\b表示单词边界)

<?php

 $str="01,02,61,31";

 $s=preg_replace("/\b([0-9]+)\b/","sz$1",$str);

 $s=preg_replace("/\bsz(6[0-9]*)\b/","sh$1",$s);

 print_r($s); 

?>


运行结果
sz01,sz02,sh61,sz31

温馨提示:答案为网友推荐,仅供参考