wake-up-neo.net

Fehler "preg_match_all" mit dem Wordpress SEO by Yoast Plugin

Ich hoffe jemand konnte mir wirklich helfen ...

Ich erhalte folgende Fehlermeldung:

"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" 

wenn ich ein Fokus-Schlüsselwort in die WordPress-SEO-Meta-Box eingebe/schreibe.

Ich weiß nicht, was ich tun soll, um den Fehler zu beheben. Ich hoffe jemand oder der Entwickler des Plugins (Joost de Valk) konnte mir bei diesem Fehler helfen - danke.

Ich brauche wirklich deine Hilfe...

1
sulistyo

Ich habe alle hier verfügbaren Versionen durchgesehen http://plugins.trac.wordpress.org/browser/wordpress-seo/tags/ und nirgends gibt es sie ein beliebiger "I" -Modifikator. Der "I" -Modifikator ist offensichtlich ungültig, daher der Fehler. Ein Update des Plugins wird das Problem mit Sicherheit lösen. Oder zumindest, wenn Updates nicht möglich sind, editieren Sie Zeile 476 von /wp-content/plugins/wordpress-seo/admin/linkdex/linkdex.php und wenden Sie sich an

$keywordCount = preg_match_all("/".$job["keyword"]."/msIU", $body, $res);

oder was auch immer es haben mag:

$keywordCount = preg_match_all("/".$job["keyword"]."/msiU", $body, $res);

Ein Update :

Nachdem Sie erwähnt haben, dass 'P' ein ungültiger Modifikator ist, ist mir plötzlich aufgefallen, dass das Schlüsselwort nicht maskiert ist und dass Sie möglicherweise einen umgekehrten Schrägstrich (/) verwenden, der den regulären Ausdruck verletzt.

Während Sie auf ein Update warten, können Sie die Zeile folgendermaßen umschreiben:

http://plugins.trac.wordpress.org/browser/wordpress-seo/trunk/admin/linkdex/linkdex.php#L476

$keywordCount = preg_match_all("#".$job["keyword"]."#msIU", $body, $res);

Beachten Sie, wie ich die Trennzeichen von / in # geändert habe. Sie werden diese wahrscheinlich nicht verwenden, damit Ihr Ausdruck nicht fehlschlägt.

http://php.net/manual/en/regexp.reference.delimiters.php

Alternativ können Sie preg_quote wie folgt verwenden:

$keywordCount = preg_match_all("/".preg_quote($job["keyword"], '/')."/msIU", $body, $res);
1
soulseekah

Danke Soulseekah für deine Antwort. Ich habe meine Datei /wp-content/plugins/wordpress-seo/admin/linkdex/linkdex.php überprüft und was dort geschrieben ist, ist genau das Gleiche wie oben erwähnt/geschrieben. Ich habe: $ keywordCount = preg_match_all (" /".$job["keyword"owntown."/msiU ", $ body, $ res); und ich weiß nicht was und wo das problem ist. Ich versuche zu kopieren und zu ersetzen und es passiert immer noch nichts. Beim zweiten Versuch, mein Fokus-Schlüsselwort in meinem Beitrag zu speichern, trat der Fehler immer noch auf, aber mit einer anderen Meldung: "error Warning: preg_match_all () [function.preg-match- all]: Unbekannter Modifikator 'p' in /home/sulistyo/public_html/wp-content/plugins/wordpress-seo/admin/linkdex/linkdex.php in Zeile 476 ". Zur Information: Dieser Fehler tritt nur bei einem der Posts auf, während das Plugin bei meinen anderen Posts gut zu funktionieren scheint. Übrigens, danke für deine Antwort ..., danke sehr ...

0
sulistyo