我想对一堆字符串进行对比替换
源字符串:23@1#123@456#789@0#23@4#23@5#23@
替换23@(后面有可能是其他数字或没数字),开头是整个字符串开始或#以后
我自己写了一个不对的ereg_replace("[^0-9]23@[0-9]*", "替换的字符串", $x);
不过这样就会连前面的#都替换掉了,我想让#保留只替换23@……这个东西,该怎么写?
源字符串:23@1#123@456#789@0#23@4#23@5#23@
替换23@(后面有可能是其他数字或没数字),开头是整个字符串开始或#以后
我自己写了一个不对的ereg_replace("[^0-9]23@[0-9]*", "替换的字符串", $x);
不过这样就会连前面的#都替换掉了,我想让#保留只替换23@……这个东西,该怎么写?
解决方案 »
- 请教discuss论坛自动发帖的 postxxxx.php问题
- 在PHP中使用OOP有什么好处?
- PHP开发绝对不能违背的安全铁则(转载)
- 说说你的书
- mysql同步热备多个数据库的实现(急)!!!
- mysqli类没有query功能?
- 关于mysql-essential-5.0.7-beta-win32+apache_2.0.54-win32-x86-no_ssl+php-4.3.11-Win32在win2000下的问题
- 如何获取下拉列表选定的值?
- 想做个新闻系统,打算用longblob存放正文,但似乎无法输入表格,高分求教!
- mysql与php编程,sql语句的引号问题?
- GET[ID]后,在后面用不了!!!!
- 求一个php留言板程序
$patterns[0] = "23@";
$replacements[0] = "";
print preg_replace($patterns, $replacements, $string);
改成:preg_replace("/(\A)23@|(#)23@/", "\${2}替换的字符串", $x);