Antworten auf deine Fragen:
Neues Thema erstellen

Mal wieder ein Problem mit einem regulären Ausdruck -.-

MrManko

Nicht mehr ganz neu hier

Hi @ all

ich möchte aus einem String alle Image src's extrahieren. Dies ist auch kein Problem, wenn die Tags folgendermaßen vorliegen.
HTML:
<img src='entenhausen.jpg'>
Dann extrahieren ich die Source so:
PHP:
$text = "jfjsdfj <img src='entenhausen.jpg'> jdsfjdfjhdfg <img src='rudolf.jpg'> <img src='ninja_turtle.gif'>";
   preg_match_all("|<img src=(.*)>|Uis",$text,$match);

   foreach ($match as $wert) {
       $anzahl = count($wert);
   }
   echo "Dateinamen in diesem String: <br />";
   for($i = 0;$i<$anzahl;$i++) {
      $k = $i + 1;
      echo "Dateiname $k: ".$match[1][$i]." <br />";

  }
Doch wie muss ich nun den regulären ausrcuk anpassen um ihn auf wirklich alle img Tags anwenden zu können, sprich wenn ich nicht weiß, an welcher Stelle das src Attribut steht. Folgender Code funktionert NICHT.

PHP:
$text = "jfjsdfj <img src='entenhausen.jpg'> jdsfjdfjhdfg <img src='rudolf.jpg'> <img src='ninja_turtle.gif'>";
   preg_match_all("|<img[.*]src=(.*)[.*]>|Uis",$text,$match);

   foreach ($match as $wert) {
       $anzahl = count($wert);
   }
   echo "Dateinamen in diesem String: <br />";
   for($i = 0;$i<$anzahl;$i++) {
      $k = $i + 1;
      echo "Dateiname $k: ".$match[1][$i]." <br />";

  }
Ich hoffe ihr könnt mir helfen...

MrManko
 

Duddle

Posting-Frequenz: 14µHz

AW: Mal wieder ein Problem mit einem regulären Ausdruck -.-

PHP:
<?php
 $text = "jfjsdfj <img src='entenhausen.jpg'> jdsfjdfjhdfg <img src='rudolf.jpg' alt=\"bla\"><img src='entenhausen.jpg'> <img alt=\"bla\" src='ninja_turtle.gif'>";
preg_match_all("/<img.*?src=(\"|')(.*?)\\1.*?>/",$text,$match);

foreach ($match as $wert) {
	$anzahl = count($wert);
}
echo "Dateinamen in diesem String: <br />";
for($i = 0;$i<$anzahl;$i++) {
	$k = $i + 1;
	echo "Dateiname $k: ".$match[2][$i]." <br />";

}  

?>

Sprich: lies alles aber gerade genug zwischen img und src, dann lies entweder ein ' oder " und speicher es in 1, dann lies alles aber gerade genug bis zum nächsten in \1 stehenden Zeichen und speicher es in 2, dann lies alles aber gerade genug zwischen diesem und dem schliessenden >.

Okay?

Duddle
 

MrManko

Nicht mehr ganz neu hier

AW: Mal wieder ein Problem mit einem regulären Ausdruck -.-

Vielen Dank Duddle :)

Es funktioniert und dann auch noch die die passende Erklärung *THUMBS UP*

Besser geht es nicht, 1A Service ^^

LG

MrManko
 

CIX88

Aktives Mitglied

AW: Mal wieder ein Problem mit einem regulären Ausdruck -.-

PHP:
foreach ($match as $wert) {
    $anzahl = count($wert);
}
warum nicht gleich:
PHP:
for ($i = 0; $i < count($match[2]); $i++ ) {
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.565
Beiträge
1.538.067
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben