在preg_match_all()撇号给我的问题


apostrophe in preg_match_all() is giving me problems

这段代码不能正常运行

preg_match_all("/('{'[)(['w-'d's'.'|']*)(']'})/i",$replace_text, $match);

应该做的是允许在我的替换文本中使用撇号。所以在我的文本中,我有"{[SPIN—they are|they’re]}",它应该返回"they are"或"they’re"。但是,它什么也不做,只输出我上面键入的整个spintax代码。

唯一不起作用的情况是替换文本带有撇号。它在其他任何地方都非常有效。我花了两天时间修理这个问题,现在我都要把键盘砸到显示器上了。

我的项目做了很多事情,在指定替换文本之前必须有{[SPIN——]和]}右括号。

请问有人能帮帮忙吗?

在您的示例字符串中,它不是单个引号字符,而是看起来类似的东西

(实际字符)vs '(这是你认为的)