Reguläre Ausdrücke in PHP

  • Also ich hab folgendes vor..

    ich kenne mich jetzt ziemlich gut mit RegExp aus.. jetzt will ich dass ganze auch in PHP anwenden können..


    Aber iwie funktioniert das ganze noch nicht richtig..

    Im Grunde genommen soll alles so ablaufen:


    1. Ich gebe in das Formularfeld "Formel" die Suchformel ein

    2. Ich gebe in das Textfeld meine zu durchsuchenden Text ein.

    3. Reg Ex sucht mir alle Treffer raus und listet sie mir auf..


    kann mir da jemand helfen? Danke =)

  • Das Forumlar wirste dir wohl selber schreiben müssen, der Befehl den du suchst wird aber

    PHP
    preg_match_all($pattern , $subject ,$matches);

    sein.

    wert.TeeeX.de
    Wie gut ist die technische Umsetztung deiner Website wirklich?
    Teste es!

  • Das tut nicht funktionieren.. hier der Code

    Hier die Fehlermeldungen:

    Bild1

    Bild2

    Bild3

    Die Formeln hab ich nur zur Veranschaulichung nochmal reingeschrieben.. bzw den Text den es durchsuchen soll.

    Bitte um Hilfe. MfG XantypiaxD

  • Regular Expressions müssen von Delimitern Begrenzt sein.

    Entweder muss dein Suchausdruck direkt in deinem Suchfeld begrenzt werden im Sinne von

    oder du hängst über das Script die Delimiter ran, wenn du diese nicht in der Suchmaske miteingeben wilst:

    wert.TeeeX.de
    Wie gut ist die technische Umsetztung deiner Website wirklich?
    Teste es!

  • Schonmal Danke.. aber so ganz funktioniert es noch nicht wie ich dass will xP

    Als Ergebnis gibt es jetzt folgendes aus:

    Array ( [0] => Array ( [0] => d ) )

    wenn ich bei formel: [\w]

    und beim Text: d

    z.B. eingebe


    aber es soll dann als Ergebnis : d anzeigen .. in meinem Fall

  • könntest du mir so was vllt passend zu meinem script formulieren?

    Danke =) denn das kapier ich nich xP

    Thanks

    hier nochmal der Code

  • PHP
    echo 'Ergebnisse:';
    foreach($matches as $x) {
        echo $x.'<br />'."\r\n";
            }

    EDIT: Natürlich dein print_r() wegmachen.

  • Sorry, dann ist das hier richtig:

    PHP
    echo 'Ergebnisse:';
    foreach($matches as $x) {
        if(is_array($x)) {
            foreach($x as $y) {
                echo $y.'<br />'."\r\n";
                        }
        } else {
            echo $x.'<br />'."\r\n";
                }
            }
  • schonmal danke.. funktioniert soweit.. aber etwas geht noch nicht..

    und zwar.. wenn ich ins Formelfeld z.B. [\w] eingebe, müsste er ja

    wenn ich ins Textfeld "a" (ohne die "" geschrieben) finden.. oder?

    das macht er aber nicht...

    hier mal der komplette quellcode:

  • Dein HTML Code ist ja grauslig.
    Warum brauchst du eine Tabelle um den Schriftzug darzustellen?

    Mach das doch einfach so:
    Aussenrahmen per Div mit Breite 800px um alles rum und dann einfach den h3 Tag rein.
    Das Formular ginge auch mit CSS und einfachen HTML, das heisst ohne Tabellen.
    Siehe mal hier den Code: http://www.beschallungen-sojic.ch/?src=kontakt

  • #push

    Weiss es keiner?

    Manche Formel funktionieren nicht

    z.B. wenn ich \d

    oder \w oder so eintippe

    wenn ich es so [\d] eintippe.. funktionierts auch nicht

    nur so Formeln wie.. [a-zA-Z] oder [0-9]

    Pls Help

  • Ich denke du hast Erfahrung mit Regular Expressions?


    Das kann nicht sein.

    [\d], [0-9], [123456789] sind alle komplett äquivalent.

    Warum probierst du nicht einfach aus wo der Fehler ist?
    Setzte die Errorausgabe auf TRUE und gucke was ist, irgendwas wird er ja sagen. Oder probiere es mit anderen Werten.

    Lass dir die Ergebnisse Formlos ohne die Schleife per print_r() ausgeben, irgendwo wirst du den Fehler ja finden.... =/

    wert.TeeeX.de
    Wie gut ist die technische Umsetztung deiner Website wirklich?
    Teste es!