【发布时间】:2015-03-26 00:34:01
【问题描述】:
我有以下问题:我想替换(在 php 中)一个特殊字符,但前提是它位于其他两个字符之间。它试图使用 preg_replace 找到解决方案,但它不起作用。
我想替换每个 ;带有 : 这是在“ 例子:
$orig_string= 'asbas;"asd;";asd;asdadasd;"asd;adsas"'
结果应该是:
'asbas;"asd:";asd;asdadasd;"asd:adsas"'
我尝试了几个正则表达式,但没有任何成功...
我试过的两个例子:
$result = preg_replace('(?<=\")(.*)(;)(.*)(?=\")',':', $str);
$result = preg_replace('.*\".*(;).*\"',':', $str);
谁能帮帮我?
非常感谢
V
【问题讨论】:
-
两个 " 之间的文本是否有一些具有特殊含义的特殊文本?因此@nu11p01n73R 的解决方案无法正常工作,因为它没有考虑到,在第一部分中可能已经是“没有追随者了;
标签: php regex replace preg-replace