kostenloser Webspace werbefrei: lima-city


preg_match_all inner / outer -HTML

lima-city: kostenloser WebspaceForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    programtools

    Benutzer, kostenlos WebspaceBenutzer, kostenlos WebspaceBenutzer, kostenlos WebspaceBenutzer, kostenlos Webspace Knappe

    6073 Gulden

    1 positive Bewertung
    0

    programtools hat kostenlosen Webspace.

    Hi,

    ich wollte fragen, ob es möglich ist, über preg_match_all jeweils html zwischen bestimmten Tags und innerhalb dieser Tags seperat zu filtern:

    Bsp. HTML
    outer1 outer1 
    <entry> inner1 inner1 inner 1</entry> 
    outer2 outer2 
    <entry>inner2 inner2</entry> 
    outer3 outer3


    Ich möchte die Augabe:
    0) outer1 outer1 outer2 outer2 outer3 outer3
    1) inner1 inner1 inner1
    2) inner2 inner2

    den Inhalt zwischen Tags zu finden ist nicht schwer (preg_match_all("'<entry>(.*?)</entry>'si", $a, $b);), nur wie kann ich auch noch das html drumherum herausbekommen?
    Wäre klasse wenn das in einer Abfrage machbar ist!
    (einen DOM-Parser kann ich nicht verwenden!)

    Vielleicht hat jemand soetwas bereits umgesetzt :)
    Vielen Dank & Grüße

    Beitrag zuletzt geändert: 22.6.2014 15:53:46 von programtools
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. willstdueswissen

    Kostenloser Webspace von willstdueswissen

    Benutzer, kostenlos WebspaceBenutzer, kostenlos WebspaceBenutzer, kostenlos Webspace Büttler

    2167 Gulden

    12 positive Bewertungen
    0

    willstdueswissen hat kostenlosen Webspace.

    Du könntest alle HTML Tags entfernen, dann hättest du automatisch alles was außerhalb ist:
    //html entfernen, dann den Rest in $outofhtml
    $outofhtml = preg_replace("/<entry>(.*)<\/entry>|\n/", "", $input);
    
    //und dann dein befehl um den Text in den Tags zu bekommen
    preg_match_all("/<entry>(.*?)<\/entry>/", $a, $inhtml);
    
    echo "0) " . $outofhtml; // = 0) outer1 outer1 outer2 outer2 outer3 outer3
    
    for($i=0; $ < count($inhtml); $i++) {
    echo $i+1 . ") " . $inhtml[$i];
    }
    // = 1) inner1 inner1 inner1
    // = 2) inner2 inner2


    Ich hoffe ich konnte dir helfen

    MfG willstdueswissen

    Beitrag zuletzt geändert: 24.6.2014 10:22:28 von willstdueswissen
  4. Autor dieses Themas

    programtools

    Benutzer, kostenlos WebspaceBenutzer, kostenlos WebspaceBenutzer, kostenlos WebspaceBenutzer, kostenlos Webspace Knappe

    6073 Gulden

    1 positive Bewertung
    0

    programtools hat kostenlosen Webspace.

    Hi, vielen Dank für die Hilfe,
    die Idee hatte ich auch, das bringt mich auch zu meinem Ziel (Danke!) aber ich dachte eben, es wäre eventuell möglich das mit einer Abfrage direkt zu erledigen :D

    Aber muss ja nicht zu kompliziert sein :)

    Vielen Dank & Grüße
  5. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!