preg_replace: highlight css: html,body {margin:0;}
Hej.Jeg er igang med at se på preg_replace. og har taget udfordringen op om at lave en css highlight funktion.
lige nu er jeg kun kommet til
$s = preg_replace( '/(.*?)\{(.*?)\}/i' , '<selectors>\1</selectors>{<syntax>\2</syntax>}' , $s );
hvor den putter henholdsvis body,html,div,h1,h2 i en kasse <selectors> kasse, og {margin:0;padding:0;} puttes i en <syntax> boks.
Nu er mit problem bare at linjen godt kan se sådan ud:
html, body {margin:0;padding:10px;}
som så bliver til
<selectors>html, body </selectors>{<syntax>margin:0;padding:10px;</syntax>}
jeg vil gerne gå ind med preg_replace og putte html og body i nye bokse (<selector>) så resultatet kommer til at se sådan ud:
<selectors><selector>html</selector>,<selector> body </selector></selectors>{<syntax>margin:0;padding:10px;</syntax>}
Jeg har bare ingen ide om hvordan man går ind og tager fat i <selectors>...</selectors> og derfra videre ind, uden at splitte stringen op i en array og derfra gå ind.
På forhånd tak for hjælpen.