Attribute von Tags (Beispiel 1)

Weitere Beispiele

Beispiel ausführen
Wenn man HTML oder XML Tags mit eigenen Skripten bearbeiten möchte muss man oft die Attribute der Tags und deren Werte auslesen. Das kann man mit Hilfe eines regulären Ausdrucks wie im folgenden Beispiel machen.
<?php


function getAttributes($s)
{
    
$stack = array();

    
$reg_exp '#(\w*)\s?=\s?(?:"([^"]*)"|\'([^\']+)\'|(\S+))#';

    
$success preg_match_all($reg_exp$s$matches);

    if (!
$success) {
        return 
false;
    }

    
$n count($matches[1]);

    for (
$i=0$i $n$i++){

        
$match2use = !empty($matches[2][$i])
            ? 
$matches[2][$i]
            : (!empty(
$matches[3][$i])
                ? 
$matches[3][$i]
                : 
$matches[4][$i]);

        
$stack[$matches[1][$i]] = $match2use;
    }
    return 
$stack;
}


$test = array(
 
'border = "1"',
 
"border = '1'",
 
'border = 1',
 
'single=\'1\' double="2" noquotes = 3 ',
 
'a = 12 b = c d = "1" e=\'"test"\'',
 
'more="hattu=12"',
 
'name = peter pan border="12"',
);


foreach (
$test as $s){

    
printf ('<h1>%s</h1>'$s);
    
$arr getAttributes($s);
    
print_r($arr);

}

?>

Benutzte Funktionen


Hinweise zum DatenschutzImpressum © 2005-2008 S. Eickhoff