PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : <img>-Tag entfernen


thorben
23.10.2005, 15:55:39
Hallo SELFPHP Forum,

kurze Frage, wie kann ich aus einem String, der Text und unter anderem <img>-Tags entfernen?

Was ja schon ganz gut klappt:
$string = "bla bla <img src=upload/bild.jpg> bla bla";
$stringa = str_replace("<img src=upload/", "", $string);

Mmmmmh, im Endeffekt müsste ich nach allen Zeichen suchen, dem Punkt und der Endung jpg, bzw. gif, etc. Nur wie?

Über eine hilfreiche Antwort wäre ich sehr dankbar.
thorben

xabbuh
23.10.2005, 16:02:09
Wenn du komplett alle HTML-Tags entfernen willst, reicht strip_tags() (http://www.php.net/strip_tags) aus.

Ansonsten müsstest du es mit einem regulären Ausdruck (http://tut.php-q.net/regex.html) versuchen:

<?php
$regex = '#<img src=.+\.(jpg|png|gif)>#iU';
$var = preg_replace($regex, '', $var);
?>

feuervogel
23.10.2005, 16:05:09
ein bild kann aber auch von einer .php-datei erzeugt werden oder gar keine endung haben.

Serp
26.10.2005, 17:34:17
@xabbuh: Also das kann so aber nicht ganz funktionieren, immerhin gibts ja noch andere Attribute außer src...


Ich würd eher was in der Art vorschlagen:


$pos = strpos($text, '<img');
while($pos !== false) {
$text = substr($text, 0, $pos).substr($text, strpos($text, '>', $pos));
$pos = strpos($text, '<img');
}