警告:preg_replace():未知修饰符'�'

时间:2017-05-11 14:21:35

标签: php preg-replace

另一个被问过一百万次的问题,但我被困在这里。

我为此行收到以下错误Warning: preg_replace(): Unknown modifier '�'

$tweetText = preg_replace('@(?!(?!.*?<a)[^<]*<\/a>)(?:(?:https?|ftp|file)‌​://|www\.|ftp\.)[-A-‌​Z0-9+&#/%=~_|$?!:,.]‌​*[A-Z0-9+&#/%=~_|$]@‌​i','<a href="\0" target="_blank">\0</a>', $tweetText);

我尝试做的只是从Twitter检索推文(已成功完成),但用实际超链接替换文本网址,以便用户只需点击它们而不是复制/粘贴。

我感到茫然的唯一原因是错误是列出,所以我还没有得到关于该行中哪个字符错误的线索。

任何帮助?

2 个答案:

答案 0 :(得分:0)

当我将代码粘贴到hexed.it时,我会在结束@分隔符后立即看到所有类型的无关字符:

Screen-shot

重新输入@',你应该摆脱那些不可打印的字符。

答案 1 :(得分:0)

使用@WiktorStribiżew提供的链接,我能够看到隐藏的4个字符。删除它们,错误消失了。