Newsticker Fehler

GalaxyWarrior

Erfahrenes Mitglied
Hi, ich habe einen Newsticker in meine Homepage eingebaut, aber wenn z.B. der Newstext c't llautet, dann kommt ein Fehler in der JS Console von Opera steht

Code:
http://212.112.237.182/index.php?page=impressum
Unknown context
Syntax error while loading: line 4 of inline script at http://212.112.237.182/index.php?page=impressum : 
"http://www.heise.de/newsticker/meldung/63565">c't-Vorträge 
---------------------------------------------------^

Ich schätze, dass das an dem ' liegt, aber wie behebe ich das? Den Newstext bekomme ich über PHP aus einer RDF ausgelesen.

Gruß GalaxyWarrior
 
Das habe ich nicht hinbekommen, ich habe es mit

PHP:
$title[1] = preg_replace("'","\'",$title[1]);

versucht. Der script wäre dann.

PHP:
<? 
	//news
		$data = join("", file("http://www.heise.de/newsticker/heise.rdf"));
		preg_match_all("=<item>(.+)</item>=sU", $data, $items);
		$new1=0;
		$i = 1;
		foreach ($items[$i] as $item) {
			if($i<="15")
			{
				preg_match("=<title>(.+)</title>=U", $item, $title);
				preg_match("=<link>(.+)</link>=U", $item, $link);
				$title[1] = preg_replace("'","\'",$title[1]);
				$news = $news."<a href=\"$link[1]\">$title[1]</a> + + +";
				$new1=1;
				$i++;
			}
			if($i<="8")
			{
				preg_match("=<title>(.+)</title>=U", $item, $title);
				preg_match("=<link>(.+)</link>=U", $item, $link);
				$news2 = $news2."<a href=\"$link[1]\">$title[1]</a> <===> ";
				$new1=1;
				$i++;
			}
			//
		}
	//news
?>

Dann werden aber keine Titel mehr angezeigt. Fehler:

Code:
Warning: preg_replace() [function.preg-replace]: No ending delimiter ''' found in /srv/www/htdocs/web0/html/index.php on line 60

Leider sind im Moment keine News mit ' vorhanden, deshalb kann ich nicht sagen ob es geht wenn ein ' vorhanden ist. Aber ich kann mir gut vorstellen, dass es so ist.

Gruß GalaxyWarrior
 
GalaxyWarrior hat gesagt.:
Code:
Warning: preg_replace() [function.preg-replace]: No ending delimiter ''' found in /srv/www/htdocs/web0/html/index.php on line 60

Die Meldung besagt es ja schon irgendwie....du hast die Delimiter vergessen bei preg_replace().

Dafür sollte übrigens str_replace() ausreichen.
 
Auch ist
PHP:
$data = join("",file("http://www.heise.de/newsticker/heise.rdf"));
irgentwie umständlich wenn du mit
PHP:
$data = readfile("http://www.heise.de/newsticker/heise.rdf");
gleich das ganze als String bekommst.
 

Neue Beiträge

Zurück