Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

hallo,

ich versuche mittels match und replace bilder die in einem %7Boption%7D-TAG sind zu finden und zu ersetzen.

Beispiel:

$content = 'Das hier ist ein Contenteintrag
[IMG]small_Bildschirmfoto 2012-08-26 um 14.08.20.png[/IMG]
[IMG]small_Bildschirmfoto 2012-08-27 um 21.36.00.png[/IMG]
[IMG]small_Bildschirmfoto 2012-08-27 um 22.12.00.png[/IMG]';[/PHP]

Der Aufruf wäre dann:

[PHP] if(preg_match_all("/\[IMG\](.*)\[\/IMG\]/", $text, $hits) > 0) {
foreach( $hits as $i => $k ) {
$fullmatch = $hits[0][$i];
$filename = $hits[1][$i];
$text = str_replace($fullmatch, $this->media->checkFileExist($filename), $text);
}
}

über media wird geprüft ob das Bild existiert und dann entsprechend als html-tag zurück gegeben.

mein problem ist nun, das ich die ersten 2 bilder umgewandelt bekomme, bild 3 wird nicht umgewandelt.

var_dump sieht ok aus:

    array(2) {
[0]=>
array(3) {
[0]=>
string(58) "[IMG]small_Bildschirmfoto 2012-08-26 um 14.08.20.png[/IMG]"
[1]=>
string(58) "[IMG]small_Bildschirmfoto 2012-08-27 um 21.36.00.png[/IMG]"
[2]=>
string(58) "[IMG]small_Bildschirmfoto 2012-08-27 um 22.12.00.png[/IMG]"
}
[1]=>
array(3) {
[0]=>
string(47) "small_Bildschirmfoto 2012-08-26 um 14.08.20.png"
[1]=>
string(47) "small_Bildschirmfoto 2012-08-27 um 21.36.00.png"
[2]=>
string(47) "small_Bildschirmfoto 2012-08-27 um 22.12.00.png"
}
}[/PHP]

hat jemand eine Idee?

Geschrieben

Naja der var_dump zeigt doch schon das Ergebnis - dementsprechend:


$count = count( $hits[0] );
for( $i = 0;$i < $count;$i++ ) {
$fullmatch = $hits[0][$i];
$filename = $hits[1][$i];
}
[/PHP]

Geschrieben

Ansonsten 'PREG_SET_ORDER' bei preg_match_all() nutzen - ich glaube dieses Ergebnis wolltest du erreichen; dementsprechend die Schleife:


foreach( $hits as $i => $k ) {
$fullmatch = $hits[$i][0];
$filename = $hits[$i][1];
}
[/PHP]

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...