Ich habe eine CSV-Datei erstellt, die zwei Spalten enthält, eine mit einer Liste von Stichwörtern getrennt durch ein | und ein anderer mit einer URL.PHP preg_match mehrere Vorkommen & multipe verwendet auf derselben Seite
Was ich versuche mit dieser Datei zu tun ist, die Schlüsselwörter in meinen Blogartikeln zu finden und einfachen Text durch Links zu ersetzen, die auf die URL aus der CSV-Datei zeigen. Das Endziel ist die Steigerung der SEO-Leistung bei einigen Keywords.
ich den folgenden Code bin mit:
foreach ($links as $key=>$value)
{
$url=$value["url"];
$pattern="#<p.*?>(.*)\ (".$value["keyword"].")\ (.*)</p>#";
$content=preg_replace($pattern,"$1 <a href=\"".$url."\">$2</a> $3",$content);
}
$ Links ein Array ist, den Inhalt der CSV-Datei enthält, hat es eine Taste, um das Keyword (s) und einen Schlüssel enthält die URL enthält.
Beispiel
$value["keyword"] contains keyword1|keyword2
$value["url"] contains the url to point to
$content contains the article
Die hier oben genannten Werke Code aber nicht genau, wie ich es arbeiten möchte. Für ein bestimmtes Schlüsselwort ersetzt es nicht alle Vorkommen dieses Schlüsselworts. Einige Schlüsselwörter werden überhaupt nicht ersetzt. Es muss etwas mit dem regulären Ausdruck nicht stimmen, aber ich sehe nicht direkt wo.
Am Ende ginge, was würde Ich mag an:
- durch einen Link ein Schlüsselwort ersetzen
- Grenze der Menge wie oft ein Keyword ersetzt Links zu vermeiden ganzen Artikel mit (ex : die beiden ersten beiden Vorkommnissen)
die preg_replace auf Seite Last ersetzen gelten, weil ich
die effizienteste Keyword-Kombination zu finden regelmäßig werde, um die Keyword-Liste ändern Auswirkungen auf Seitenladeleistung- vermeiden
- Ich bin mit Wordpress und wollen keinen externen Plug-in verwenden
Also kurz gesagt, meine Fragen sind:
- wie könnte ich den regulären Ausdruck so transformieren, dass alle Schlüsselwörter durch ein Maximum von X ersetzt werden
- Wie kann ich sicherstellen, dass diese preg_match meine Seitenleistung nicht verringert
Eine Idee?
Vielen Dank!
Laurent
Ihre Regex funktioniert nicht so, wie Sie denken. Warum schaust du in 'p' Tags? Meinst du, es gibt dieselben Wörter außerhalb davon, die du nicht zusammenbringen willst? – revo
In der Tat erscheinen diese Wörter manchmal in Titeln oder in anderen Links, so dass ich sicherstellen möchte, dass ich nur diejenigen im Klartext ersetze. – Laurent