ilch Forum » Allgemein » HTML, PHP, SQL,... » Suchmuster

Geschlossen
  1. #1
    User Pic
    Balthazar3k Mitglied
    Registriert seit
    23.04.2006
    Beiträge
    422
    Beitragswertungen
    7 Beitragspunkte
    Ich habe mich zum ersten mal an mein eigenes suchmuster gewagt, hat zwar etwas gedauert und ein fehler ist auch noch drinne der eigentlich nicht weiter stört, aber besser wissen warum. Danke im Vorraus ^^

    <?php
    $zeichenkette = "SELECT * FROM prefix_raid_klassen WHERE id=1 LIMIT 1";
    $suchmuster = "/prefix_([_]?[0-9a-zA-Z])*/";
    ?>


    print_r gibt das wieder: Array ( [0] => prefix_raid_klassen [1] => n )

    woran liegt das da [1] => n rausgesucht wird?
    Kein Support für den Raidplaner über PM.
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    sCoRpIoN Mitglied
    Registriert seit
    03.03.2005
    Beiträge
    1.883
    Beitragswertungen
    0 Beitragspunkte
    also ich finde es sehr schwer, ohne weitere angaben, nur durch 2 festgelegte variablen, ein suchmuster zu erkennen zunge

    aber mal abgesehen davon, dass ich den code noch nicht gesehen habe; woher bekommst du das mehrdimensionale array?

    gruss
    scorp
    free-design: externer Link

    --## externer Link ##--
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Balthazar3k Mitglied
    Registriert seit
    23.04.2006
    Beiträge
    422
    Beitragswertungen
    7 Beitragspunkte
    Danke ich habe schon Hilfe bekommen!

    preg_match habe ich dazu benutzt, wusste nich das es eine Rolle spielt.

    Aber danke das jemand mal antwortet ^^
    Kein Support für den Raidplaner über PM.
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Balthazar3k Mitglied
    Registriert seit
    23.04.2006
    Beiträge
    422
    Beitragswertungen
    7 Beitragspunkte
    Altes Thema neues Problem.
    Ich versuche hier das Datum zu teilen und zu überprüfen. nun habe ich aber das Problem mit dem Punkten da das laut suchmuster tablle als ein zeichen gilt und normal \ ein sonderzeichen einführt aber \. geht auch nicht. habe es schon mit [.] probiert aber erfolglos. was mach ich den falsch?

    <?php
    if( ereg("([0-9){1,2})\.([0-9){1,2})\.([0-9]{4})", "20.03.1982", $tmp )){
    	echo "<pre>";
    	print_r( $tmp );
    	echo "</pre>";	
    }else{
    	echo "FEHLER";
    }
    ?>
    M.f.G B3k


    Zuletzt modifiziert von Balthazar3k am 04.04.2009 - 17:15:20
    Kein Support für den Raidplaner über PM.
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Naja ich würde nicht mir ereg arbeiten, sondern mit preg, da gibts dann die Funktion preg_match.

    Allerdings sind bei dir einige Klammern falsch, was du mit also es muss schon [0-9] sein und nicht mit ), ansonsten sollte es mit \. schon gehen.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Balthazar3k Mitglied
    Registriert seit
    23.04.2006
    Beiträge
    422
    Beitragswertungen
    7 Beitragspunkte
    oh man das ist mir garnicht aufgefallen ^^
    *peinlich

    Danke ^^

    ja preg_match kenne ich, allerdings wenn ich eine Tabelle suche finde ich keine, und weshalb man ereg nicht so benutzen will habe ich auch nicht gecheckt. vllt kennt jemand ne gute seite wo es gut beschrieben ist die preg_match funktion mit zeichen tabelle.

    danke ^^
    Kein Support für den Raidplaner über PM.
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Balthazar3k Mitglied
    Registriert seit
    23.04.2006
    Beiträge
    422
    Beitragswertungen
    7 Beitragspunkte
    So wieder ein Problem ^^

    Ich versuche hier die itemlist.gz auszulesen soweit funktioniert es auch, es steckt dahinter ein XML page/code

    bsp.
    <?xml version="1.0" encoding="utf-8"?>
    <buffedItemList>
    	<buffeditem name="Abgenutztes Kurzschwert" id="25" />
    	<buffeditem name="Gebogener Stab" id="35" />
    	<buffeditem name="Abgenutzter Streitkolben" id="36" />
    	<buffeditem name="Abgenutzte Axt" id="37" />
    	<buffeditem name="Rekrutenhemd" id="38" />
    	<buffeditem name="Rekrutenhose" id="39" />
    	<buffeditem name="Rekrutenstiefel" id="40" />
    	<buffeditem name="Knappenstiefel" id="43" />
    	<buffeditem name="Knappenhose" id="44" />
    	<buffeditem name="Knappenhemd" id="45" />
    	<buffeditem name="Straßenräuberschuhe" id="47" />
    	<buffeditem name="Straßenräuberhose" id="48" />
    	<buffeditem name="Straßenräuberhemd" id="49" />


    also wollte ich das mit preg_match_all filtern doch versagt mein pattern irgendwie nichts passend, also mein array ist leer!

    Das ist der Code

    <?php
    $open = gzopen("itemlist.gz", "r");
    $size = filesize("itemlist.gz");
    $read = gzread($open, $size);
    $outp = gzuncompress( $read );
    gzclose( $open );
    
    $pattern = "/^<buffeditem name=\"([\.\", -_'0-9a-zA-Z]*)\" id=\"([0-9]*)\" \/>$/";
    preg_match_all( $pattern, $outp, $tmp );
    
    echo "<pre>";
    print_r( $tmp );
    echo "</pre>";
    ?>



    Zuletzt modifiziert von Balthazar3k am 14.04.2009 - 21:05:11
    Kein Support für den Raidplaner über PM.
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Balthazar3k Mitglied
    Registriert seit
    23.04.2006
    Beiträge
    422
    Beitragswertungen
    7 Beitragspunkte
    ok das hat sich erledigt.
    mit

    $pattern = "/name=\"(['0-9a-zA-Z ]*)\" id=\"([0-9]*)\"/";

    nun bekomme ich fast alle daten zurück, mein Problem jetzt besteht darinne das in name äüö vorkommen und die nicht angezigt werden.

    mfg b3k ^^
    Kein Support für den Raidplaner über PM.
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    $pattern = "/name=\"(['0-9a-zA-Z üöäÜÖÄß]*)\" id=\"([0-9]*)\"/";
    geht das denn nicht?
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    Balthazar3k Mitglied
    Registriert seit
    23.04.2006
    Beiträge
    422
    Beitragswertungen
    7 Beitragspunkte
    ne das ging leider auch nicht, das habe ich auch schon getestet habe das nun mit (.*) gelöst denn eigendlich ist mir egal was in name drinne steht, aber ich glaube das liegt an der encoding="utf-8" irgendwie habe ich bei funpic immer diese Probleme wo umlaute als hyroglyphen da stehen, wobei es bei Xampp einwandfrei geht, ohne das ich was ändern muss.
    Kein Support für den Raidplaner über PM.
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Kann unter anderem am Charset liegen, bzw an der Codierung mit der die php Datei gespeichert wird.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    Balthazar3k Mitglied
    Registriert seit
    23.04.2006
    Beiträge
    422
    Beitragswertungen
    7 Beitragspunkte
    werdenich mal Morgen schauen am eigenen pc ob ich php anders speicher kann.

    hätte da noch ein frage

    wie setze ich unten im Beispiel den Pattern so in search ein das es geht?

    <html><head><title>Test</title>
    </head><body>
    <script type="text/javascript">
    var Aussage = "Angelo Testet Javascript Search";
    var pattern = "Ang"; // TEST PATTERN, kommt später vom Input Feld!
    var Ergebnis = Aussage.search("/^"+pattern+"/");
    if (Ergebnis != -1){
      alert("gefunden");
    }else{
      alert("nicht gefunden!");
    }
    </script>
    </body></html>


    original war das var Ergebnis = Aussage.search(/^Ang/);


    Zuletzt modifiziert von Balthazar3k am 16.04.2009 - 12:32:30
    Kein Support für den Raidplaner über PM.
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Eben in Javascript sind Patterns keine Strings, hab mal kurz gesucht und gefunden, dass du mit
    pattern = new RegExp("hier kann ein String stehen");
    ein RegExp erzeugen kannst.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  14. #14
    User Pic
    Balthazar3k Mitglied
    Registriert seit
    23.04.2006
    Beiträge
    422
    Beitragswertungen
    7 Beitragspunkte
    danke ^^

    Funktioniert.

    denke mal das es so richtig ist!

    var Aussage = "Angelo Testet Javascript Search";
    var pattern = new RegExp("^Ang"); // TEST PATTERN, kommt später vom Input Feld!
    var Ergebnis = Aussage.search(pattern);
    Kein Support für den Raidplaner über PM.
    0 Mitglieder finden den Beitrag gut.
  15. #15
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Wenns geht zwinker
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu HTML, PHP, SQL,...

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten