Programm zählt falsch

tina33333

Mitglied
Hallo, liebes Forum,

bastle schon seit geraumer Zeit an einem Code herum, welcher die Länge der meta description zählen soll. Das Programm funktioniert zwar, aber es kommt das falsche Ergebnis raus. Vielleicht kann mir wer von euch weiterhelfen?

PHP:
$url="http://www.almhof-kirchberg.com";
$content = implode("", file($url));	

	echo length_metadescription($url,$content);

function length_metadescription($url,$content) {
	if(preg_match("/<meta name=\"description\" content=\"(.*)\">/i", utf8_encode($content), $description)) {
	$result=$description [1];
	#print_r($result); 
	  
	$result = preg_replace('/[\x00-\x1F]/', '', $result);  #soll nicht druckbare Zeichen entfernen, tut aber auch nichts.
	 	  
	return strlen($result); //zählt falsch, warum******** Zählt 368 statt 162
	 }	  
  
}
 
Mach mal den preg_match greedy, und wenn du das utf8_encode() weg lässt, kommt sogar die richtige Länge raus:

PHP:
<?php
$url="http://www.almhof-kirchberg.com";
$content = implode("", file($url));

echo length_metadescription($url,$content);

function length_metadescription($url,$content) {
	if(preg_match("/<meta name=\"description\" content=\"(.*?)\">/i", $content, $description)) {
		$result=$description [1];
		var_dump($result);

		$result = preg_replace('/[\x00-\x1F]/', '', $result);  #soll nicht druckbare Zeichen entfernen, tut aber auch nichts.
			
		return strlen($result); //zählt falsch, warum******** Zählt 368 statt 162
	}

}
 
Zurück