0

我正在使用 PHP 5.2.17。我想从 JSON 字符串中删除一些多余的数据,我认为我可以使用一些替换功能来做到这一点。具体来说,我将 ereg_replace 与下一个表达式一起使用:

'^.*?(?=\"created_at)'

我已经在http://www.regexpal.com上验证过。我已经将我的 JSON 字符串粘贴在那里并且匹配是正确的。但是,当我拨打电话时:

$tweets = eregi_replace('^.*?(?=\"created_at)', $temp, 'something');

然后我回显 $tweets 变量,有输出。控制台中也没有错误。但是,Apache 错误日志抱怨称为 REG_BADRPT 的错误。eregi_replace 的 php 文档中有一条评论表明这可能是因为我需要转义特殊字符,但我已经转义了 " 字符。我试图逃避其他人但没有不同的行为。

那么问题可能出在哪里呢?

4

2 回答 2

1

我认为这不ereg支持环视。 preg_replace存在于 php 5.2 中,所以你应该真正使用它。它将与带有分隔符的表达式一起使用。

$tweets = preg_replace('@^.*?(?=\"created_at)@i', 'something', $temp);
于 2013-05-08T14:44:13.417 回答
1

正如其他人指出的那样,不推荐使用 ereg 函数,因此请使用 preg_replace。您还必须将正则表达式字符串封装在斜杠 ( /) 中。您可以在最后一个斜杠之后放置您的正则表达式标志。

于 2013-05-08T14:50:04.120 回答