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?