0

我有相当大的 txt 文件,我想在用正则表达式选择的字符串中使用替换。

文件充满了多行,如下所示:

...||date|14.02.2010||interest|games and books||options|opt1, opt2 and opt3||age|24||...

现在我想|options|opt1, opt2 and opt3|改成and这样,|options|opt1, opt2, opt3|

我认为这应该像这样工作:

  1. 使用正则表达式选择字符串,例如。\|options\|(.*?)\|
  2. 现在是这样的:替换and,in$1

并重复多次。

我怎样才能在 PHP 中做到这一点?我希望它已经足够清楚了。

4

2 回答 2

0

怎么样:

$str = '...||date|14.02.2010||interest|games and books||options|opt1, opt2 and opt3||age|24||...';

$str = preg_replace('/(\|options\|[^|]*) and/', "$1,", $str);
echo $str,"\n";

输出:

...||date|14.02.2010||interest|games and books||options|opt1, opt2, opt3||age|24||...
于 2013-11-05T13:53:21.540 回答
0

尝试这个

$str= preg_replace('/(\|options\|[^|]+) and /', '\1,', $str);
于 2013-11-05T13:53:31.160 回答