2017-04-08 1 views
0

Mein Ziel ist es, alle Werte des "Name" -Attributs in jedem <input> Tag aus der HTML-Quelle, die auf html.txt angegeben ist. Ich brauche Hilfe mit der Regex und auch mit der if-Anweisung, denn im Moment wird nur der erste Wert ausgegeben, der mit preg_match gefunden wurde und nicht der Rest (und es wird nicht einmal überprüft, ob das name-Attribut in einem Eingabe-Tag ist). Ich versuche auch, die Regex zu reparieren, so dass sie nicht den Namen = Teil zeigt.php - alle Werte für ein bestimmtes Attribut für alle Eingabe-Tags auf einer Website erhalten

<?php 


$myfile = fopen('html.txt', 'r'); 
$subject = fread($myfile,filesize("html.txt")); 

$pattern='/name="([^"]*)\"/'; 


if(preg_match($pattern, $subject, $hits)){ 
    echo "values: $hits[0]"; 
} 




?> 

Beispiel Ausgabe:

values: name="title" 

Antwort

0

Anstatt regex die Attribute und Werte zu finden, warum nicht das HTML-DOM parsen. Verwenden Sie simpleXML oder http://php.net/manual/en/domdocument.loadhtml.php, um ein Array basierend auf dem HTML-DOM des Dokuments zu erstellen. Führen Sie anschließend das Array durch, um die Eingabeelemente und ihre Attribute zu finden.

Verwandte Themen