Einzelnen Beitrag anzeigen

Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#1

PHP: preg_replace

  Alt 22. Mai 2011, 20:12
Hi,

ich hab gerade ein Schlauch auf der Leitung.

Ich möchte in einem HTML-Text alle <img src="bla.jpg" /> umschreiben in <img src="../bla.jpg" />.

Folgender Versuch:

Code:
$matches = array();
$cnt = preg_match_all('#<img(.*?)src="(.*?)"(.*?)/>#ms', $text, $matches);

$replacements = array();
$patters = array();

for ($i = 0; $i < $cnt; $i++)
{
    $patters[] = '#<img(.*?)src="(.*?)"(.*?)/>#ms';
    $replacements[] = '<img ' . $matches[1][$i] . ' src="../' . $matches[2][$i] . '" ' . $matches[3][$i] . ' />';
}

$text = preg_replace($patters, $replacements, $text);
Geht schief, klar. Es fehlt quasi beim replace irgendeine Art "offset". Ich glaube, ich mach es mir gerade schwerer, als ich es eigentlich machen müsste.

Jemand fix eine Idee?
  Mit Zitat antworten Zitat