by Guest » 12 Jan 2025, 09:09
Ich versuche, preg_replace zu verwenden, um Bildlinks aus URLs zu erstellen.
Beispiel:
https://www.google.com/image.png
wird
Code: Select all
[img]https://www.google.com/image.png[/img]
Code: Select all
$patterns = array (
'~https?://\S+?(?:png|gif|webp|jpe?g)~'
);
$replace = array (
'
[img]$0[/img]
'
);
$string = preg_replace($patterns, $replace, $string);
Der Kürze halber habe ich die irrelevanten Teile entfernt, aber das ist nicht ohne Grund ein Array.
Das funktioniert großartig, es sei denn, das Bild hat ein Fragezeichen darin... also
https://www.google.com/image.png?123456
In diesem Fall die Frage Markierung und alles, was danach folgt, wird nicht übereinstimmen ... also sind wir am Ende mit:
Code: Select all
[img]https://www.google.com/image.png[/img]
?123456
Wie kann ich dafür sorgen, dass es auch mit dem Fragezeichen übereinstimmt?
Ich versuche, preg_replace zu verwenden, um Bildlinks aus URLs zu erstellen.
Beispiel:
https://www.google.com/image.png
wird
[code]
[img]https://www.google.com/image.png[/img]
[/code]
[code]$patterns = array (
'~https?://\S+?(?:png|gif|webp|jpe?g)~'
);
$replace = array (
'
[img]$0[/img]
'
);
$string = preg_replace($patterns, $replace, $string);
[/code]
Der Kürze halber habe ich die irrelevanten Teile entfernt, aber das ist nicht ohne Grund ein Array.
Das funktioniert großartig, es sei denn, das Bild hat ein Fragezeichen darin... also
https://www.google.com/image.png?123456
In diesem Fall die Frage Markierung und alles, was danach folgt, wird nicht übereinstimmen ... also sind wir am Ende mit:
[code]
[img]https://www.google.com/image.png[/img]
?123456[/code]
Wie kann ich dafür sorgen, dass es auch mit dem Fragezeichen übereinstimmt?