永发信息网

php 正则表达式匹配一个字符串的多个值 然后逐一替换掉里面的 不全部替换成一个

答案:4  悬赏:0  手机版
解决时间 2021-11-09 07:53
php 正则表达式匹配一个字符串的多个值 然后逐一替换掉里面的 不全部替换成一个
最佳答案
举个例子给你看看是不是你想要的。
有个字符串“abcadeafg”,把其中的三个字母a分别替换成x,y,z:
$pattern = array('/a/', '/a/', '/a/');
$replacement = array('x', 'y', 'z');
$subject = 'abcadeafg';
$res = preg_replace($pattern, $replacement, $subject , 1);
echo $res; // xbcydezfg
全部回答
你可以给个例子先 要不然 很难明白你遇到的是什么问题, 想要什么结果
Example #2 preg_replace()中使用基于索引的数组
$string = 'The quick brown fox jumped over the lazy dog.';
$patterns = array();
$patterns[0] = '/quick/';
$patterns[1] = '/brown/';
$patterns[2] = '/fox/';
$replacements = array();
$replacements[2] = 'bear';
$replacements[1] = 'black';
$replacements[0] = 'slow';
echo preg_replace($patterns, $replacements, $string);
?>
以上例程会输出:
The bear black slow jumped over the lazy dog.

对模式和替换内容按key进行排序我们可以得到期望的结果。
ksort($patterns);
ksort($replacements);
echo preg_replace($patterns, $replacements, $string);
?>
以上例程会输出:
The slow black bear jumped over the lazy dog.

Example #3 替换一些值
$patterns = array ('/(19|20)(d{2})-(d{1,2})-(d{1,2})/',
                   '/^s*{(w+)}s*=/');
$replace = array ('3/4/12', '$1 =');
echo preg_replace($patterns, $replace, '{startDate} = 1999-5-27');
?>
以上例程会输出:
$startDate = 5/27/1999
细细的看下str_replace
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
奔跑吧兄弟杨颖用的什么双眼皮贴
国家对畜牧业养殖用地有什么优惠政策
我向两个朋友各借500块钱刚好一千块买970块去
合肥之战- 张辽,威震逍遥津 当时几岁
请问一瞬是多少时间?具体点
中方县长田湾计划生育服务所怎么去啊,有知道
简便计算65x32+90x68+25x32
有谁知道道斯镗床回转工作台抖动是什么原因引
榆林交警支队一大队满分审验教育区地址在什么
跪求GTX850最适合的显卡驱动啊
雷米高和朗仕狗粮哪个好?
转速2千转时速80正常吗
想想凡卡以后的命运会是怎样的接着写课文内容
赖传珠的个人生平
兴华伟驾校办公地址在什么地方,我要处理点事
推荐资讯
有什么app可以把照片眉毛加深?
诗元舞校地址在什么地方,我要处理点事!
学校买来6张桌子和12把椅子,共付215.40元,
北民大拉丁舞教学中心(亚美大厦分校)地址在哪
有人知道这种DVD带有USB接口的能支持什么格式
求一个电影片段,一个人在洗澡然后另一个人冲
无锡时硕科技怎么样
为什么网球比赛的赢者都要在摄像机上签名?
过年走亲戚,都准备花多少钱一家
为什么我做的水稳土击实试验水泥的剂量越大反
尼勒克县喀拉苏乡事故处理服务网点地址在哪,
为什么380电压,电机15千瓦,功率因数0.83电
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?