Yoast插件的WordPress SEO出现错误“preg_Match_all”

时间:2012-04-01 作者:sulistyo

我希望有人能真正帮助我。。。

我收到以下错误消息:

"error Warning: preg_match_all() [function.preg-match-all]: Unknown modifier \'I\' in /home/sulistyo/public_html/wp-content/plugins/wordpress-seo/admin/linkdex/linkdex.php on line 476" 
当我在wordpress seo元框中输入/写入焦点关键字时。

我不知道该怎么解决这个错误。我希望有人或插件开发人员(Joost de Valk)可以帮助我解决这个错误-谢谢。

我真的需要你的帮助。。。

2 个回复
SO网友:soulseekah

我浏览了这里所有可用的版本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);

SO网友:sulistyo

谢谢你的回答。我已经检查了我的/wp内容/插件/wordpress seo/管理员/linkdex/linkdex。php和上面写的内容完全一样,我有:$keywordCount=preg\\u match\\u all(“/”$job[“keyword”]。“/msiU”,$body,$res);我不知道问题出在哪里。我尝试复制和替换,但仍然没有发生任何事情,第二次尝试在帖子中重新保存我的fokus关键字时,仍然出现了错误,但出现了不同的消息:“错误警告:preg\\u match\\u all()[function.preg match all]:第476行的/home/sulistyo/public\\u html/wp content/plugins/wordpress seo/admin/linkdex/linkdex.php中的未知修饰符“p”。仅供参考:此错误只发生在一篇文章上,而插件似乎在我的其他文章上运行良好。顺便说一句,谢谢你的回答,非常感谢。。。

结束

相关推荐

U-plugins文件夹中的插件未加载

我正在尝试通过将插件放入mu-plugins 文件夹但是如果插件放在文件夹中,它就不会被加载。我尝试了一些流行的插件,如W3 Total Cache、Yoast的WordPress SEO,但都没有加载。WordPress是否只加载中只有单个文件的插件mu-plugins?