Inhalt einer Seite via PHP auslesen und mit Javascript auswerten ?

Also ich hab jetzt das konzept jetzt mal ein bisschen umgeworfen weil ich zu keinem vernüftigen Ergebnis gekommen bin.

Ich habe die Datei jetzt lokal auf dem Server liegen.

Jetzt würde ich gerne aus diesem Format als Bsp.

HTML:
<td width="100%"><b><font face="Arial" size="2">
      <img border="0" src="Bilder/newsdrehend.gif" width="36" height="11">
        </font>
        <u><font face="Arial" size="4">59</font></u></b><u><b><font face="Arial" size="4">7. 
      Kevin Hartmann Kreisranglistensieger</font></b></u><span style="FONT-FAMILY: 'Arial','sans-serif'"><br>
      </span>
      <br>
      <span style="font-weight: 700"><font face="Arial, sans-serif" size="2">
      Kevin Hartmann hat Platz 1 bei den Kreisranglisten in Braunfels erreicht. 
      Mit 15:6 Sätzen bei 5:1 Spielen setzte er sich vor Daniel Kaiser (Hohenroth) 
      und Johann Armin Sander (SG Oberbiel) durch.<br>
      Bei den Spielen in Braunfels ging es nicht nur um die Platzierung im 
      Kreis, sondern auch um die Qualifikation für die Bezirksrangliste am 24. 
      und 25.Mai in Königstein, die Kevin mit Rang 1 natürlich erreicht hat. 
      Herzlichen Glückwunsch!<br>
&nbsp;</font></span></td>

Einmal die Überschrift extrahieren in diesem Fall ist das dieser Teil:
HTML:
<u><font face="Arial" size="4">59</font></u></b><u><b><font face="Arial" size="4">7. 
      Kevin Hartmann Kreisranglistensieger</font></b></u>

und einmal den Newscontent:

HTML:
<span style="font-weight: 700"><font face="Arial, sans-serif" size="2">
      Kevin Hartmann hat Platz 1 bei den Kreisranglisten in Braunfels erreicht. 
      Mit 15:6 Sätzen bei 5:1 Spielen setzte er sich vor Daniel Kaiser (Hohenroth) 
      und Johann Armin Sander (SG Oberbiel) durch.<br>
      Bei den Spielen in Braunfels ging es nicht nur um die Platzierung im 
      Kreis, sondern auch um die Qualifikation für die Bezirksrangliste am 24. 
      und 25.Mai in Königstein, die Kevin mit Rang 1 natürlich erreicht hat. 
      Herzlichen Glückwunsch!<br>
&nbsp;</font></span>

Wohl bemerkt möchte ich nur den Inhalt haben die Formatierung spielt hierbei keine Rolle mehr.

Grund dafür ist das ich die gesamten News Artikel der alten HTML basierten Seite in die Neue PHP basierende Seite einfügen möchte und das am Besten Automatisiert.

Nun dachte ich mir okay dann wird die betreffende Datei erstmal inlcuded:
PHP:
include ('news.html');

und dann mit regex die jeweiligen Teile Headline & content rausfiltern (Wo es schon problematisch wird weil ich es nicht schaffe beide Teile in einem preg_match befehl unter zu bringen.


Wenn das dann alles funktioniert (587 News Einträge), soll dann alle jeweils gefilterten Headlines in $headline[$i] zusammengefasst werden und die jeweiligen contents in $message[$i] um danach alle News via:

PHP:
mysql_query("INSERT INTO ".PREFIX."news_contents (newsID, language, headline, content) VALUES ('".$newsID."', '".$lang[$i]."', '".$headline[$i]."', '".$message[$i]."')");

Ins System zu übertragen. Ist sowas möglich und wenn Ja wieviel Arbeitszeit muss ich Rechnen ?
 
1. Nicht mit include/require!

2. Lade die Datei (file_get_contents)

3. Nutze einen XML-Parser (DOMDocument ist bspw. in PHP integriert)

4. Extrahiere den Inhalt

5. Füge den deinen Daten hinzu (besser ein großes Array statt mehrere einzelner, du kannst auch gleich eine Klasse NewsArticle erstellen => Kapselung)

6. Die alte mysql_-Erweiterung nicht mehr nutzen, wenn du irgendwie kannst! MySQLi oder PDO. Bei MySQLi Prepared Statements nutzen. (Erklärungen, Verweise findest du im Internet)



Arbeitszeit: wenn es flott geht, 45 - 60 min - Komplikationen eingerechnet. Wenn alles glatt läuft, vllt. auch nur 15 min.
 
Bisher bin ich soweit gekommen hab mir gedacht ich Filter den ganzen Inhalt nach dem <u> Tag da dieser in jeder Headline verwendet wurde, nur bezweifel ich irgendwie das da alles richtig ist weil wenn ich per echo oder print_r das array $element ausgebe kommt garnix.



PHP:
<?php
// News laden
  $content = file_get_contents("news.html");
  
// Verarbeitung mit dem XML Parser (Headline filter für das <u>-Tag

	$dom = new DOMDocument(); 
	$dom->loadHTML( $content ); 
	$element = $dom->getElementsByTagName( "u" ); 
	$element = ( $element === null ) ? '' : $element->nodeValue;  
	
	
  
?>
 
Zurück