hi,
kann man irgendwie steuern, dass z.B. nach einen Doppelhäkchen auch als Abschluss der Sequenz gesucht wird, wenn diese auch mit einem Doppelhäkchen begonnen hat?
du kannst mit {nummer} auf bereits vorher erzeugte back references zugreifen. (was dabei zu beachten ist, damit das nicht als oktalziffer verstanden wird, steht im abschnitt http://www.php.net/manual/de/reference.pcre.pattern.syntax.php#regexp.reference.backslash)
beispiel:
<?php
$test = array('dies ist ein "test", baby',
'dies ist ein "test\', baby',
'dies ist ein \'test\', baby',
'dies ist ein \'test", baby');
print_r($test);
foreach($test as $teststring) {
preg_match('/(["|\'])([a-z]+)(\1)/', $teststring, $treffer);
print_r($treffer);
}
?>
in diesem suchmuster
'/(["|'])([a-z]+)(\1)/'
liefert (["|']) die erste back reference, wenn es ein " oder ' findet.
danach möchten wir ein paar buchstaben haben,
und anschließend wieder das, was in der ersten back reference drin steht (\1).
das beispielscript findet beim ersten und dritten beispieltext aus dem array einen treffer, bei den anderen beiden nicht.
gruß,
wahsaga
/voodoo.css:
#GeorgeWBush { position:absolute; bottom:-6ft; }