Ich möchte ein target="blank"
-attribute zu allen Links hinzufügen, die eine PDF-Datei enthalten, wie href
. Um dies zu erreichen, möchte ich eine preg_replace
auf $content
einschließlich der gesamten HTML mit mehreren PDF-Links in ihm tun. Ich denke, so etwas wie dies funktionieren würde, aber leider hat es nicht: Add target = "_ blank" zu allen PDF-Links
preg_replace('/((<a (?=.*\.pdf)(?!.*target="_blank").*?)>)/', '$2 target="_blank">', $content);
sollte folgendes So zum Beispiel geschehen:
$content = '<html>
<a href="http://www.example.com/file.pdf" title="File">
<a href="/file2.pdf" title="File2">
<a href="http://www.example.com/image.jpg" title="Image">
</html>';
preg_replace('/((<a (?=.*\.pdf)(?!.*target="_blank").*?)>)/', '$2 target="_blank">', $content);
echo $content;
Sollte Ausgabe:
<html>
<a href="http://www.example.com/file.pdf" title="File" target="_blank">
<a href="/file2.pdf" title="File2" target="_blank">
<a href="http://www.example.com/image.jpg" title="Image">
</html>
Können Sie helfen Ich finde den richtigen RegEx dafür?
Wenn es eine einfachere Möglichkeit gibt, dasselbe zu erreichen, würde ich es gerne hören.
Vielen Dank!
Wenn Sie eine Frage fragen, füge ein Beispiel für die Eingabe und erwartete Ausgabe gegenüber der tatsächlichen Ausgabe. Das würde es dir leichter machen, dir zu helfen! – alfasin