TS: SR-Nachrichten Excerpt

Beitrag lesen

Und wie hast Du das gemacht? Auch mit Xpath? Den Inhalt des Mitte-Containers hatte ich mir auch geholt, also title und href und dann sr-online.de davorgepackt. Aber wie kriegst Du denn nun das Ganze ohne utf8-Probleme da heraus....? Also, wenn alles in einem array ist, ist ja gut...

Erst einmal zum Verfahren: Der Zugriff erfolgt immer über die Nodes. Wenn man so einen elegantgen Aufsetzpunkt hat, wie hier bei SR-Online, dann kann man von aus aufwärts und abwärts im Baum navigieren.

nur kurz der erste Ansatz für den Ausschnitt, den ich schon gepostet hatte.

<?php 

header('Content-Type: text/html; CharSet="utf-8">');
$_errors = array();

#------------------------------------------------------------------------------
function handleError($errno, $errstr, $errfile, $errline, array $errcontext) 
{
	global $_errors;

	$_errors[] = array('errno' => $errno, 'errstr' => $errstr, 
		'errfile' => $errfile, 'errline' => $errline); # , 'context' => $errcontext); 
}
#------------------------------------------------------------------------------

$url = 'http://www.sr-online.de/sronline/nachrichten/hoerfunknachrichten/hoerfunknachrichten_aktuell100~_seite-2.html';

$page = file_get_contents($url);
$meta = '<?xml encoding="UTF-8" ?'.'>' . "\r\n";  ## Das reicht der DOMDocument-Class jetzt aber!

	$dom = new DOMDocument('1.0', 'utf-8');
	$dom->encoding = 'utf-8';
	$dom->validateOnParse = true;
	$dom->strictErrorChecking = true ;
#	$dom->strictErrorChecking = false ;
#    $dom->substituteEntities = true;   ## Darf man nicht machen, wenn das Doc nacher wieder 
										## komplett im HTML-Kontext ausgegeben werden soll
	$dom->preserveWhiteSpace = true;
#	$dom->resolveExternals = true;

	set_error_handler('handleError', E_WARNING);
	$dom->loadHTML($meta . $page);
	restore_error_handler();

	## 	hier wird der Hauptcontainer referenziert
	$node = $dom->getElementById('mitte_text');

	## hier werden die Links _im_ Container in einer dynamischen Liste referenziert
	$linklist = $node->getElementsByTagName('a');

	## Liste der Links durcharbeiten
	if ($linklist->length > 0)
	{	
		foreach ($linklist as $link)
		{
			## falls Attribute vorhanden sind
			if ($link->hasAttributes())
			{	
				foreach($link->attributes as $attribute)
				{
					if ($attribute->name == 'href') { $attribute->value = 'http://sr-online.de' . $attribute->value; }
				}
			}	
		}
    }
		
	## Images im Container in einer dynamischen Liste referenzieren
	$imglist = $node->getElementsByTagName('img');

	if ($imglist->length > 0)
	{	
		foreach ($imglist as $img)
		{
			if ($img->hasAttributes())
			{	
				foreach($img->attributes as $attribute)
				{
					if ($attribute->name == 'src') { $attribute->value = 'http://sr-online.de' . $attribute->value; }
				}
			}
		}
	}	

    $text = $dom->saveHTML($node);

?>
<!DOCTYPE HTML>
<html lang="de">

<head>
	<title>SR-Online</title>
</head>
<body>
	
<?php echo $text; ?>
	
</body>
</html>

Grüße
TS

0 139

htmlentities "bereinigen"

glupto
  • php
  1. 0
    dedlfix
  2. 1
    TS
    1. 0
      glupto
      1. 0
        Auge
        1. 0

          Korrektur meines vorherigen Postings

          Auge
          1. 0
            glutpo
            1. 1
              Der Martin
              1. 0
                glutpo
                1. 0
                  Der Martin
                  1. 0
                    glutpo
                    1. 0
                      Der Martin
                      1. 0
                        glutpo
                        1. 0
                          Der Martin
                        2. 0

                          meta-charset - Angabe war nicht innerhalb der ersten 1024 Bytes

                          TS
                          1. 0
                            dedlfix
                            1. 0

                              Fakten, Fakten, Fakten

                              TS
                              • meinung
                              • php
                  2. 0
                    Gunnar Bittersmann
            2. 0
              Auge
              • html
              • php
              1. 0
                glutpo
                1. 0
                  Camping_RIDER
                  1. 0
                    Gunnar Bittersmann
                    1. 0
                      Camping_RIDER
                    2. 0

                      Meta-Angabe im File unerheblich?

                      TS
                    3. 0

                      Offenheit für Fehlerquellen

                      Camping_RIDER
                      • html
                      • menschelei
                      • php
                  2. 0
                    glutpo
                    1. 0
                      Matthias Apsel
                      1. 0
                        Gunnar Bittersmann
                        1. 0
                          Tabellenkalk
                      2. 0
                        Tabellenkalk
                2. 1
                  Auge
                  1. 0
                    dedlfix
                    1. 0

                      Aha, dann weiter im Text.

                      Auge
                      1. 0
                        Gunnar Bittersmann
                        • html
                        • sprache
                        1. 0
                          Auge
                        2. 0
                          Gunnar Bittersmann
                      2. 0
                        dedlfix
                        1. 0

                          Danke erstmal an alle,...

                          glupto
                          1. 0
                            dedlfix
                    2. 0
                      TS
                  2. 0
                    glupto
                    1. 0
                      dedlfix
                    2. 0
                      woodfighter
                      1. 0

                        dein Impressum

                        woodfighter
                        • recht
                        1. 0
                          glupto
                          1. 0
                            Der Martin
                      2. 0
                        glupto
                        1. 2
                          dedlfix
                          1. 0
                            glupto
                            1. 0
                              Camping_RIDER
                              1. 0
                                dedlfix
                                1. 0
                                  Camping_RIDER
                                2. 0
                                  glupto
                                  1. 0
                                    Auge
                                    1. 0
                                      glupto
                                      1. 0
                                        Auge
                                    2. 0
                                      glupto
                                      1. 0
                                        Auge
                                        1. 0
                                          glupto
                                          1. 0
                                            Auge
                                            1. 0
                                              glupto
                                              1. 0
                                                Auge
                                                • php
                                                1. 0
                                                  glupto
                                                  1. 0
                                                    TS
                                                    1. 0

                                                      DOMDocument: Fehlerhaftes Parsing und Dekodierung, [gelöst]

                                                      TS
                                                      1. 0
                                                        glupto
                                                        1. 0

                                                          DOMDocument: Fehlerhafte Dekodierung, Jetzt aber...

                                                          TS
                                                      2. 0
                                                        dedlfix
                                                    2. 0
                                                      glupto
                                                      1. 0

                                                        Bitte ändert doch den Betreff immer passend ab

                                                        TS
                                                        • meinung
                                                        • php
                                                        1. 0
                                                          dedlfix
                                                          1. 0

                                                            Ätsch, war trotzdem falsch. Aber nun gibts Workaround:

                                                            TS
                                                            • php
                                                            1. 0

                                                              Kurzfassung

                                                              TS
                                                              1. 0
                                                                TS
                                                                1. 1
                                                                  TS
                                                                  1. 0
                                                                    dedlfix
                                                                    1. 0
                                                                      TS
                                                            2. 0

                                                              Weiterführende Gedanken zur gefundenen Lösung

                                                              TS
                                                              1. 0
                                                                dedlfix
                                                                1. 0
                                                                  TS
                                                                  1. 0
                                                                    dedlfix
                                                                    1. 0
                                                                      TS
                                                                      1. 0
                                                                        dedlfix
                                                                        1. 0
                                                                          glupto
                                                                          1. 0
                                                                            TS-ohne
                                                                            1. 0
                                                                              glupto
                                                                              1. 0

                                                                                SR-Nachrichten Excerpt

                                                                                TS
                                                                                • html
                                                                                • php
                                                                                1. 0
                                                                                  glupto
                                                                                  1. 0
                                                                                    TS
                                                                                    1. 0
                                                                                      glupto
                                                                                      1. 0
                                                                                        TS
                                                                                        1. 0
                                                                                          glupto
                                                                                          1. 0
                                                                                            Gunnar Bittersmann
                                                                                            • design/layout
                                                                                            1. 0
                                                                                              glupto
                                                                                              1. 0

                                                                                                SR-Nachrichten Excerpt, Grabbellösung

                                                                                                TS
                                                                                                • html
                                                                                                • php
                                                                                                1. 0
                                                                                                  glupto
                                                                                                  1. 0

                                                                                                    SR-Nachrichten Excerpt, Grabbel- und Guck-Lösung

                                                                                                    TS
                                                                                                    1. 0
                                                                                                      glupto
                                                                                                2. 0
                                                                                                  glupto
                                                                                                  1. 0
                                                                                                    TS
                                                                                                    1. 0
                                                                                                      glupto
                                                                                                      1. 0
                                                                                                        Auge
                                                                                                        1. 0
                                                                                                          glupto
                                                                                                          1. 0

                                                                                                            Einen Datengrabber schreiben, wie geht es weiter?

                                                                                                            TS
                                                                                                            1. 0
                                                                                                              glupto
                                                                                                              1. 0
                                                                                                                TS
                                                                                                                1. 0
                                                                                                                  glupto
                                                                                                            2. 0
                                                                                                              glupto
                                                                                                          2. 0
                                                                                                            Auge
                                                                                                            • php
                                                                                                            1. 0
                                                                                                              glupto
                                                                                        2. 0

                                                                                          Völlig offtopic, Frage an TS

                                                                                          Jörg Reinholz
                                                                                          • offtopic
                                                                                          1. 0
                                                                                            Matthias Apsel
                                                                                            • zu diesem forum
                                                                                          2. 0
                                                                                            TS
                                                                                            1. 2
                                                                                              Jörg Reinholz
                                                                                        3. 0
                                                                                          Auge
                                                                                          • https
                                                                                          • php
                                                                                          1. 0
                                                                                            glupto
                                                                                            1. 0
                                                                                              Auge
                                                                                              1. 0
                                                                                                glupto
                                                                                                1. 0
                                                                                                  Auge
                                                                                                2. 0
                                                                                                  Jörg Reinholz
                                                                                                  • https
                                                                                                  • recht
                                                                                          2. 0
                                                                                            TS
                                                                                            1. 0
                                                                                              Auge
                                                                                          3. 0

                                                                                            header('Content-Type: text/html; charset=UTF-8');

                                                                                            TS
                                                                                            1. 0
                                                                                              Auge
                                                                                              • https
                                                                                            2. 0
                                                                                              woodfighter
                                                                                              1. 0
                                                                                                RS
                                                                                                1. 0
                                                                                                  woodfighter
                                              2. 0
                                                dedlfix
                                          2. 0
                                            dedlfix
                                      2. 0
                                        dedlfix
                              2. 0
                                Auge
                                1. 0
                                  Camping_RIDER
                              3. 0
                                glupto
                                1. 0
                                  Camping_RIDER
                                2. 0
                                  Auge
                        2. 0

                          SR-Nachrichten als ISO interpretiert

                          TS
      2. 0
        TS
      3. 0
        Christian Kruse
        1. 0
          glupto