PHP字符换替换问题

sangern 2009-08-20 10:06:20
各位大侠,问个困扰了很久的替换问题。

假设有一段文字。
this is a test. just test.

我现在要:
1.第一次替换词组 a test ,把 a test 替换为“ [a test] ”
2.第二遍替换单词 test ,替换为“ [test] ”。但不能把第一次替换的“ [a test] ”中的test替换掉。

也就是要优先保留 a test , 第二遍把独立单词test替换掉,而不是 a test中的test。

我用str_replace两次替换。不行

应该怎么办呢?谢谢
...全文
80 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
foolbirdflyfirst 2009-08-20
  • 打赏
  • 举报
回复


$str = "this is a test,just test,test,atest a test test ia test";
$str = preg_replace("/\ba\stest\b|\btest\b/","[$0]",$str);
echo $str;
sangern 2009-08-20
  • 打赏
  • 举报
回复
this is a test. just test.

结果为:
this is [a test]. just [test].
zhuhuquan29 2009-08-20
  • 打赏
  • 举报
回复
你具体说名一下执行完后的结果
CunningBoy 2009-08-20
  • 打赏
  • 举报
回复
可能还需要其他检索条件配合
CunningBoy 2009-08-20
  • 打赏
  • 举报
回复
先把a test替换为其他字符串如REP1,test替换为REP2
然后用str_replace分别替换REP1和REP2为[a test]和[test]

不过这个方法有局限,呵呵……

21,891

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧