Ergebnis 1 bis 7 von 7

Thema: PHP - HTML-Tags auslesen mit Attribute - preg_match

  1. #1
    NBS_Cookie
    Gast

    Standard PHP - HTML-Tags auslesen mit Attribute - preg_match

    Hallo Mitglieder von Forum-Hilfe!

    Ich versuche schon seit drei ganzen Tagen
    mit PHP und der Funktion "preg_match" bzw. "preg_match_all" HTML-Tags und seine Attribute herauszufiltern!

    Habe schon in Google gesucht und auch vieles gefunden,
    nur nicht leider das was ich gesucht habe.

    Ich habe auch schon mit regulären Ausdrücken versucht zu arbeiten,
    nur ich bekomme es leider nicht hin.

    Wollte auch mal nach fragen ob einer von Euch mit regulären Ausdrücken mehr kenntnisse hat.

    So in der Richtung habe ich mir das vorgestellt:

    PHP-Code:

    // Funktion:

        
    function findElementTag($source$tags null){

            if(
    $tags === null || $tags === '' || $tags === false){

                
    // Alle HTML-Tags suchen
            
    } else {

                
    // Ein bestimmtes HTML-Tags suchen
            
    }

            return array(

                
    'tag' => 'body',
                
    'attr' => array(

                    
    'bgColor' => '#001122',
                    
    'onLoad' => 'javascript:void(0);',
                ),
                
    'content' => 'Inhalt des HTML-Tags'
            
    );
        }

    // Anwendung:

        
    $source findElementTag($source'body');
        
    print_r($source); 
    Code:
    
    // Ausgabe:
    
    	Array
    	(
    		[tag] => body
    		[attr] => Array
    			(
    				[bgColor] => #001122
    				[onLoad] => javascript:void(0);
    			)
    
    		[content] => Inhalt des HTML-Tags
    	)
    Nur ich habe leider keine Ahnung wie ich das machen soll mit den regulären Ausdrücken.

    Vielleicht habt Ihr ja eine Idee für mich, ich würde mich auf eine weiterhelfende Antwort freuen.

    Liebe Grüße,
    Cookie.
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Kaiser(in)
    Registriert seit
    29.03.2009
    Ort
    1011 1111 1011 WorldWideWeb
    Beiträge
    2.439
    Danke
    2
    Bekam 6 mal "Danke" in 6 Postings

    Standard AW: PHP - HTML-Tags auslesen mit Attribute - preg_match

    Leute GRUUNDLAGEN!!!
    Was ist HTML?
    -> Hyper Text Markup Language
    -> X M L mit Regeln

    Bemüh also mal google bezüglich XML parsen.
    Der, der weiß dass er nichts weiß, weiß mehr als der, der nicht weiß, dass er nichts weiß.
    Wer nach etwas fragt, geht grundsätzlich das Risiko ein, es auch zu bekommen!

  3. #3
    NBS_Cookie
    Gast

    Standard AW: PHP - HTML-Tags auslesen mit Attribute - preg_match

    Hallo Tabse,

    danke für den Hinweis mit den Grundlagen.
    Und es ist mir bekannt was HTML und XML ist.

    Das mit den XML-Parsen das kenne ich bereits.

    Ich habe auch schon eine Class geschrieben, die XML auslesen kann und als Objekt wiedergibt

    Zum Beispiel:

    PHP-Code:

    $xml
    ->body[0]->bgcolor[0]->value
    Nur das suche ich leider nicht.

    Ich möchte gerne mal mit preg_match und preg_match_all etwas machen und lernen.

    Liebe Grüße,
    Cookie.

  4. #4
    Kaiser(in)
    Registriert seit
    29.03.2009
    Ort
    1011 1111 1011 WorldWideWeb
    Beiträge
    2.439
    Danke
    2
    Bekam 6 mal "Danke" in 6 Postings

    Standard AW: PHP - HTML-Tags auslesen mit Attribute - preg_match

    Zitat Zitat von NBS_Cookie Beitrag anzeigen
    Hallo Tabse,

    danke für den Hinweis mit den Grundlagen.
    Und es ist mir bekannt was HTML und XML ist.

    Das mit den XML-Parsen das kenne ich bereits.

    Ich habe auch schon eine Class geschrieben, die XML auslesen kann und als Objekt wiedergibt

    Zum Beispiel:

    PHP-Code:

    $xml
    ->body[0]->bgcolor[0]->value
    Nur das suche ich leider nicht.

    Ich möchte gerne mal mit preg_match und preg_match_all etwas machen und lernen.

    Liebe Grüße,
    Cookie.
    Achso, ja dann hab ich dich falsch verstanden. Wenns dir nicht ums XML parsen geht sondern ums RegExp üben kann ich dir sagen, dass regexps für XML nich soo geeignet sind. Wenn du z.B. einen Spider schreiben willst (oder Spambot etc). dann kann dir das behilflich sein, um genaueres aus dem HTML-Code der seite rauszufiltern, aber so wie du das bereits geschrieben hast, wirds mit regexp schwer.

    Aber du kannst gerade im bezug auf Webseiten mal ein Rundmailscript für ein Browsergame deiner Wahl schreiben. Also ein script, dass sich mit einem Accoutn beim Browsergame einloggt und dann eine Vorgegebene Nachricht an eine bestimmte Zielgruppe sendet. Wenn du dafür eine Klasse für HTTP-Requests brauchst schreib mir ne PM, ich glaub ich hab da noch eine rumfahren.
    Der, der weiß dass er nichts weiß, weiß mehr als der, der nicht weiß, dass er nichts weiß.
    Wer nach etwas fragt, geht grundsätzlich das Risiko ein, es auch zu bekommen!

  5. #5
    NBS_Cookie
    Gast

    Standard AW: PHP - HTML-Tags auslesen mit Attribute - preg_match

    Tobse,

    ich glaube das wir uns immer noch nicht so ganz verstehen ^^
    sowas wie einen Spambot habe ich auf gar keinen Fall vor zu machen.

    Ich möchte einfach mit einer Funktion XML bzw. HTML auslesen
    und wenn in diesen Tag attribute vorhanden sind

    diese dann mit aus zu lesen ...

    PHP-Code:

    $source 
    '';
    $source .= '<html>';
    $source .= '<body bgColor="#112233">Hier steht etwas im Body-Tag</body>';
    $source .= '</html>';

    $findTag findElementTag($source'body');
    $findTag findElementTag($source); // beziehungsweise $findTag = findElementTag($source, null);

    print_r($findTag);

    print_r($findAll); 
    Ausgabe:
    ( Es könnte etwas anders aussehen, als wie es sein sollte^^ )

    Code:
    	Array
    	(
    		[tag] => body
    		[attr] => Array
    			(
    					[bgColor] => #001122
    			)
    
    		[content] => Hier steht etwas im Body-Tag
    	)
    
    	Array
    	(
    
    		Array
    		(
    			[tag] => html
    			[attr] => Array ( )
    			[content] => <body bgColor="#112233">Hier steht etwas im Body-Tag</body>
    		)
    
    		Array
    		(
    			[tag] => body
    			[attr] => Array
    				(
    					[bgColor] => #001122
    				)
    
    			[content] => Hier steht etwas im Body-Tag
    		)
    	)
    So in der Richtung sollte das sein ...
    ich bin auch nebenbei am programmieren
    und versuch da noch ne lösung zu finden

  6. #6
    Kaiser(in)
    Registriert seit
    29.03.2009
    Ort
    1011 1111 1011 WorldWideWeb
    Beiträge
    2.439
    Danke
    2
    Bekam 6 mal "Danke" in 6 Postings

    Standard AW: PHP - HTML-Tags auslesen mit Attribute - preg_match

    Wir verstehen uns schon. Allerdings sind Regular Expressions nicht zum parsen von XML da. Der einzige Zweck für Regular Expressions im Bezug auf XML/HTML ist der für Spider. Wenn du Rgular Expressions üben möchtest nimm von mir aus Telefonnummern, E-Mail Adressen, Web URLs oder schreib nen LaTeX>HTML Converter. Aber HTML wirst du damit nich annähernd so gut (und schnell) analysieren können wie mit dem klassischen Parser.
    Der, der weiß dass er nichts weiß, weiß mehr als der, der nicht weiß, dass er nichts weiß.
    Wer nach etwas fragt, geht grundsätzlich das Risiko ein, es auch zu bekommen!

  7. #7
    König(in) Avatar von crAzywuLf
    Registriert seit
    03.02.2009
    Beiträge
    1.175
    Danke
    1
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: PHP - HTML-Tags auslesen mit Attribute - preg_match

    Hi Cookie,
    ich glaube, wenn ich mit Regex spielen würde, würde ich probieren das so irgendwie anzugehen:
    PHP-Code:
    <?php
    $source 
    '';
    $source .= '<html>';
    $source .= '<body bgColor="#112233">Hier steht etwas im Body-Tag</body>';
    $source .= '</html>';


    if (
    preg_match_all('/<(\w+)( .*?)*>(.*?)<\/\\1>/imx'$source$matches))
    {
        
    print_r($matches);
    }

    ?>
    Das dann in eine rekursive Funktion und dann wirds schwierig, weil nicht jedes Tag hat ein schließendes wie z.B. <img> ;

    p.s. wenn du Regex lernen möchtest dann schau dir das hier mal an:
    http://www.danielfett.de/internet-un...ere-ausdruecke
    Geändert von crAzywuLf (23.08.2011 um 13:57 Uhr)
    Gruß crAzywuLf

Ähnliche Themen

  1. Antworten: 4
    Letzter Beitrag: 28.11.2008, 16:54
  2. Html-Tags
    Von Neverdead im Forum HTML & CSS Forum
    Antworten: 3
    Letzter Beitrag: 09.10.2007, 10:53
  3. PHP-GB lässt html tags zu!
    Von *gleichfastschontotsei* im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 10
    Letzter Beitrag: 06.03.2006, 13:46
  4. HTML Tags als Text anzeigen
    Von Lector im Forum HTML & CSS Forum
    Antworten: 3
    Letzter Beitrag: 22.11.2005, 15:21
  5. HTML-Tags im Browser anzeigen
    Von Alpha im Forum HTML & CSS Forum
    Antworten: 4
    Letzter Beitrag: 15.11.2005, 23:24

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •