2017-01-23 3 views
1

Ich möchte PHP einfache HTML-DOM-Parser verwenden, um von einer Website zu kratzen. Quellcode ist so zufällig wie folgt aus: "(.. Löb, Co v) Details"Verschrottung mit PHP Simple HTML DOM Parser

 <font face="Arial" color="#ff0000"> 
     <p>Parameters</p> 
     </font><font face="Arial" size="2" color="#ff0000"> 
     <p>Param1</p> 
     </font><font face="Arial" size="2" color="#0000ff"> 
     <p>Details. (Lob., </font><i><font face="Arial" 
     size="2" color="#ff0000">Co v</font><font face="Arial" size="2" 
     color="#0000ff">.)</p> 

Statt direkt von Putten innen < p> </p>, es < Schrift setzen mit> und < i >. Wenn ich diesen Code

foreach($html->find('p') as $p) 
{ 
    echo $p->plaintext.'<br>'; 
} 

I "Details. (LOB.", Finden sie stoppen, wenn < Suche i> oder < font>. Wie kann ich die ganze Zeile „Details zu extrahieren. (LOB., Co v.)“

Vielen Dank für Ihre Antwort

+0

Meinst du _ "kratzen" _? Nur um sicher zu gehen. –

+0

Ja Entschuldigung, ich meine kratzen – balimaco00

Antwort

1

Sie strip_tags verwenden können() Funktion die unnötigen Tags. nach entfernen unnötiger Tags zu entfernen, können Sie DOM-Parser verwenden.

Die Funktion strip_tags() streift eine Zeichenfolge aus HTML-, XML- und PHP-Tags .

String strip_tags (string $ str [, string $ allowable_tags])

Sie können mehr über strip_tags() Funktion auf php.net

Beispiel lesen:

$html = '<font face="Arial" color="#ff0000"> 
    <p>Parameters</p> 
    </font><font face="Arial" size="2" color="#ff0000"> 
    <p>Param1</p> 
    </font><font face="Arial" size="2" color="#0000ff"> 
    <p>Details. (Lob., </font><i><font face="Arial" 
    size="2" color="#ff0000">Co v</font><font face="Arial" size="2" 
    color="#0000ff">.)</p>'; 

$html = strip_tags($string, '<p>'); 
echo $html; 

Ergebnis:

<p>Parameters</p> 

    <p>Param1</p> 

    <p>Details. (Lob., Co v.)</p> 
Verwandte Themen