我浏览了这里所有可用的版本http://plugins.trac.wordpress.org/browser/wordpress-seo/tags/ 没有任何“I”修饰语。“I”修饰符是obviously 无效,因此出现错误。更新插件肯定会解决这个问题。或者至少,如果无法更新,请编辑wp-content/plugins/wordpress-seo/admin/linkdex/linkdex的第476行。php和turn
$keywordCount = preg_match_all("/".$job["keyword"]."/msIU", $body, $res);
或任何可能需要:
$keywordCount = preg_match_all("/".$job["keyword"]."/msiU", $body, $res);
An update:
在你提到“P”是一个无效的修饰符之后,我突然想到这个关键字没有转义,你可能使用了反斜杠/
在里面,破坏正则表达式。
在等待更新时,可以将该行重写为:
http://plugins.trac.wordpress.org/browser/wordpress-seo/trunk/admin/linkdex/linkdex.php#L476
$keywordCount = preg_match_all("#".$job["keyword"]."#msIU", $body, $res);
注意我如何更改
/
到
#
分隔符,您可能不会使用这些分隔符,因此表达式不会失败。
http://php.net/manual/en/regexp.reference.delimiters.php
或者,您可以使用
preg_quote
像这样:
$keywordCount = preg_match_all("/".preg_quote($job["keyword"], \'/\')."/msIU", $body, $res);