Im Img-Tag Hostnamen mit Regular Expressions ersetzen

ridvan90

Grünschnabel
Guten Tag,

ich bin zum ersten Mal hier und habe eine Frage:

Ich habe eine Variable mit viel Text: $text

Die img-Tags sehen z.B. so aus:

..."<img src="https://example.com/bild/?bildId=345" border="0" />"...
..."<img src="http://example.com/bild/?bildId=345" border="0" />"...
..."<img src="https://www.example.com/bild/?bildId=345" border="0" />"...
..."<img src="http://www.example.com/bild/?bildId=345" border="0" />"...

Nun will ich den Hostnamen ersetzen:

Also

..."<img src="/bild/?bildId=345" border="0" />"...

_____________________________________________

Ich habe folgenden Code:

$suchmuster = '%(http://|www|https://){1}([\w-?&;,!#~=\./\@]+\.[\w/]+)%';
$ersetzung = '/bild/?bildId=';
$text = preg_replace($suchmuster, $ersetzung, $text);

Dadurch werden aber alle Hostnamen ersetzt, auch bei normalen Links im a-Tag.

Wer kann mir da weiterhelfen?
 
PHP:
<?php
$text = '..."<img src="https://example.com/bild/?bildId=345" border="0" />"...
..."<img src="http://example.com/bild/?bildId=345" border="0" />"...
..."<img src="https://www.example.com/bild/?bildId=345" border="0" />"...
..."<img src="http://www.example.com/bild/?bildId=345" border="0" />"...';

$rxp = '%src="(http://|www|https://){1}([\w-?&;,!#~=\./\@]+\.[\w/]+)%';

preg_match_all($rxp, $text, $matches);

var_dump($matches);

Ausgabe:

Code:
array
  0 => 
    array
      0 => string 'src="https://example.com/bild/' (length=30)
      1 => string 'src="http://example.com/bild/' (length=29)
      2 => string 'src="https://www.example.com/bild/' (length=34)
      3 => string 'src="http://www.example.com/bild/' (length=33)
  1 => 
    array
      0 => string 'https://' (length=8)
      1 => string 'http://' (length=7)
      2 => string 'https://' (length=8)
      3 => string 'http://' (length=7)
  2 => 
    array
      0 => string 'example.com/bild/' (length=17)
      1 => string 'example.com/bild/' (length=17)
      2 => string 'www.example.com/bild/' (length=21)
      3 => string 'www.example.com/bild/' (length=21)
 
Zurück