simplecontent

PHP Snippets und Beispiele

Inhaltsverzeichnis A-Z Register
Beispiel ausführen

Attribute von Tags (Beispiel 1)

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. Das PHP Code Beispiel:
<?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);

}

?>

Dieses PHP Snippet soll in erster Linie als Beispiel und Anregung für eigene Bemühungen dienen.
Gerne darf man es für Projekte aller Art benutzen.
Möchte jemand das Snippet also solches in ähnlicher oder anderer Form veröffentlichen ist ein kleiner Hinweis auf simplecontent.net nicht zuviel verlangt oder Herr Koch?
Für die Abwesenheit von Fehlern kann natürlich keine Gewähr gegeben werden.