TS: In allen Dateien in Tag Attribut einfügen, wenn nicht vorhanden

Beitrag lesen

Hallo und guten Abend,

wenn ich nicht total schief liege, dann müsste das auch mit dem DOM-Parser von PHP gehen.

Habe ich gerade eben wieder mit rumgebastelt...

Erst mal ausprobieren, ob Du den bewussten Tag finden kannst damit. Dann kannst Du auch die Attribute finden, ersetzen oder welche hinzufügen oder entfernen.

function get_linklist($page, &$_exceptions = NULL)
{
	$dom = new DOMDocument('1.0', 'utf-8');
	$dom->encoding = 'utf-8';
	$dom->validateOnParse = TRUE;
	$dom->strictErrorChecking = true ;
	$dom->preserveWhiteSpace = true;
	$dom->resolveExternals = true;
	
#	die ($dom->actualEncoding);
	
	set_error_handler('handleError', E_WARNING);
	$dom->loadHTML('<meta http-equiv="content-type" content="text/html; charset=utf-8">' . "\r\n" . $page);
	restore_error_handler();
	
	$a_nodelist = $dom->getElementsByTagName('a');

	$_tags = array();	
	foreach ( $a_nodelist as $index => $node )
	{
		if ($node->hasAttributes())
		{
			$_attrlist = array();
			foreach ($node->attributes as $attr)
			{
				$_attrlist[$attr->nodeName] = $attr->nodeValue;
			}
		}

		if (isset($_attrlist['href']))
		{
			$_tags[] = array('href' => $_attrlist['href'], 'text' => $node->textContent);
		}	
	}	
	
	return $_tags;		
}

So ginge es für HTML-Dateien. Das SVG-Format entspicht doch dem Muster...

Grüße
TS

--
es wachse der Freifunk
http://freifunk-oberharz.de