2016-04-25 6 views
-1

Hier mein regex101 Beispiel ist die funktioniert: https://regex101.com/r/fE6rO9/2 (Sie ein paar secondes warten, weil es groß ist)preg_match Regex gewohnt finden matches (aber es funktioniert auf regex101)

hier ist mein PHP

$content = htmlentities($contentCode); 
    /* correct echo when i copy paste it into regex101 */ 
    echo $content; 

    // copy past from regex101 
    $re = "/<\\/form><table class=\"forumline\" width=\"100%\" border=\"0\" cellspacing=\"1\" cellpadding=\"0\">(.*)<\\/table><table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">/"; 

    preg_match($re, $content, $matches); 

    var_dump($matches); 

, aber wenn ich es laufen, so schallt es:

array (size=0) 
    empty 

Jede Idee, was das Problem ist?

Dies ist die regex genommen appart:

"/<\\/form><table class=\"forumline\" width=\"100%\" border=\"0\" cellspacing=\"1\" cellpadding=\"0\">(.*)<\\/table><table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">/"; 
+0

Bitte senden Sie uns eine klare *** INPUT *** und gewünschten *** OUTPUT lesen *** Beispiel –

+3

Das Hauptproblem ist, dass Sie Regex verwenden, um HTML zu analysieren. Nehmen Sie sich die Zeit zu lernen, wie Sie DOMDocument verwenden. –

+0

die gewünschte OUTPUT ist in diesem Link: https://regex101.com/r/fE6rO9/2 => Ich erwarte 1 Ausgang, 1 Übereinstimmung – Couteau

Antwort

2

ich Ihre regex getestet haben und es scheint, wenn Sie

$content = htmlentities($contentCode); 

verwenden Sie einfach entfernen zu arbeiten:

$content = $contentCode; 

Hinweise:

  1. Bitte stellen Sie sicher, dass Sie You can't parse [X]HTML with regex
  2. Einige Alternativen zu regex sind DOMDocument oder simplehtmldom
+0

Haha oke! Ich werde Regex nicht verwenden, um HTML zu analysieren. Ich weiß, wie man alle Informationen mit jQuery abruft, aber da ich PHP verwende, gibt es eine andere Möglichkeit, die Informationen abzurufen. – Couteau

+1

Sie können PHP [DOMDocument] (https://secure.php.net/manual/en/class.domdocument.php) oder [simhehthtmldom] (http://simplethmdom.sourceforge.net/) –

+0

Oh ok, das ist schön leistungsstark, um alle Informationen jedes Knotens zu erhalten. Aber wenn ich nur HTML mit $ contentCode lade, erhalte ich viele Fehler. Mit meiner Regex habe ich nur den Teil des HTMLs genommen, den ich brauchte, und mit dem DOM-Dokument kann ich sehr einfach auf jede Zeile zugreifen. – Couteau

Verwandte Themen