hi Miro,
In der Hoffnung, dich jetzt richtig verstanden zu haben, poste ich einfach mal folgenden Code:
$options = "quelle='' formatierungsoption1 option2='xy\'uhu\'abc'";
$options .= " ";
while(preg_match("#^( *)([a-zA-Z0-9]*)(=[']?(.*?)[']?)? +(.*)#s", $options, $regs))
{
$options = $regs[5];
if($regs[2]=='') { $optarr['default'] = $regs[4]; }
else if($regs[3]=='') { $optarr[$regs[2]] = 1; } // Just a SET-OPTION
else {
$temp1 = preg_replace("/(\\(.)){1}","/$2/",$regs[4]);
$temp2 = $regs[2];
$optarr[$temp2] = $temp1;
}
$i++; // Restructurate / Next element
}
Hier kann innerhalb der Werte ($4) jedes Zeichen mit \ escaped werden. Das \ muß natürlich jetzt zwingend escaped werden.
Grüße Oesi
(Dieser Beitrag wurde von oesi50 am 27. Sep 2003, 11:07 geändert)