Zeichen in einem String suchen, ersetzen etc

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Zeichen in einem String suchen, ersetzen etc

    Hi There

    Ich habe endlich mal wieder etwas Zeit zu scripten *fröi*. Nun stiess ich an folgendes Problem. Eine Eingabemaske fragt unter anderem die eMailadresse ab. Nachdem das Formular abgeschickt wurde möchte ich nun die Eingabe prüfen, bevor ich sie weiterverwende. Beispielsweise möchte ich testen, ob in die emailvariable ein String geschrieben wurde, der ein @ enthält. Wie mache ich das? Ich habe mir gedacht ich könnte per strlen die Länge des Strings ermitteln und dann in einer for-schleife jedes Zeichen einzeln if == '@' testen. Aber ist das nicht zu aufwändig und leistungsfressend? Habe bereits etwas umhergeschaut und nach Stringbefehlen geforscht, aber nirgends was gefunden, dass mir den String nach einem zeichen/string absucht gefunden.

    Weil ich das in Zukunft mal verwenden möchte, würde es mich auch interessieren, wie ihr (nur grob) realisieren würdet, dass jemand einen String eingeben kann und dann ein gewisses Zeichen/Zeichenfolge durch ein img-tag ersetzt wird.

    Für Hilfe wäre ich unendlich Dankbar!
    Vielen Dank!!!

    Cya
    Phish

  • #2
    Huhu

    Ersetzen hab ich sofort gefunden. Ich habe mir die Frage halt erst während des Postens gestellt und danach gar nie geschaut... aber nach einem Zeichen/einer Zeichenfolge innerhalb eines Strings suchen fand ich nicht... Ist zuletzt meien for-schleifenidee doch das simpelste Mittel???
    Wär zumindest das erste mal, dass ich recht hätte :-)

    Nochmals, bin für Hilfe supi dankbar!

    cya
    Phish

    Kommentar


    • #3
      Na toll

      Und nur 2 Minuten später weis ich auch fürs erste was...

      $f = strpos(@)

      if $f --> @ ist vorhanden

      um zu sehen dass nur ein @ im string ist, könnt ich $f dann noch mit einer Variable vergleichen der der Wert srtrpos(@) zugewiesen wurde....

      Tut mir leid. Das was ich mit dem Thread hier veranstalltet habe ist purer Spam... aber vieleicht weis ja sonst einer trotzdem noch ne bessere Lösung und ansonsten, hilfts vieleicht wem, der die Suche benutzt mal weiter...

      Sorry

      Phish

      Kommentar


      • #4
        naja du kannst natürlich schleifen bauen, wenn du das gern machst

        ansonsten gibts in php zig fix und fertige funktionen dafür - is für jeden anlass was dabei

        speziell um zu überprüfen ob ein string einer bestimmten vorraussetzung entspricht (wär bei einer email adresse etwa
        (buchstaben und/oder zahlen)danach evt. ein punkt danach nochmal buchstaben und zahlen dann zwingend ein "@" dahinter wieder buchstaben oder zahlen anschliessend zwingend ein punkt und anschliessend 2 oder 3 buchstaben)
        benutzt man am bequemsten reguläre ausdrücke:
        z.b. eben email:
        Code:
        if (!preg_match("/^([_a-zA-Z0-9-]+)(\.[_a-zA-Z0-9-}+)*@([a-zA-Z-0-9-]+\.)+([a-zA-Z]{2,3})$/",$mailad))
          { 
            echo 'Ungueltig'; 
          }
        else
          { 
            echo 'Gueltig'; 
          }
        funktionen hierzu wären z.b.
        ereg -- Sucht Übereinstimmungen mit einem regulären Ausdruck
        ereg_replace -- Ersetzt einen regulären Ausdruck
        eregi -- Sucht Übereinstimmung mit regulärem Ausdruck ohne Berücksichtigung von Groß-/Kleinschreibung
        eregi_replace -- Ersetzt einen regulären Ausdrück ohne Berücksichtigung von Groß-/Kleinschreibung
        split -- Zerlegt eine Zeichenkette anhand eines regulären Ausdrucks in ein Array
        spliti -- Zerlegt eine Zeichenkette anhand eines regulären Ausdrucks ohne Berücksichtigung von Groß-/Kleinschreibung in ein Array
        sql_regcase -- Erstellt einen regulären Ausdruck für eine Suche nach Übereinstimmungen ohne Berücksichtigung von Groß-/Kleinschreibung

        ansonsten hilft ein blick ins php-manual unter dem stichwort
        "string-funktionen"

        da gibt es dann z.b.:
        strcasecmp -- Binärer Vergleich von Zeichenketten
        strchr -- Findet das erste Vorkommen eines Zeichens
        strcmp -- Binärer Vergleich zweier Strings
        strcspn -- Ermittelt die Anzahl der nicht übereinstimmenden Zeichen
        strrchr -- Findet das letzte Vorkommen eines Zeichens innerhalb einer Zeichenkette
        strrpos -- Findet letztes Vorkommen eines Zeichens in einem String
        strspn -- Ermittelt die Länge der übereinstimmenden Zeichen
        strstr -- Findet das erste Vorkommen eines Strings
        str_replace -- Ersetzt alle Vorkommen eines Strings in einem anderen String
        substr_count -- Ermittelt die Häufigkeit des Vorkommens einer Zeichenkette in einem String
        substr_replace -- Ersetzt Text in einer Zeichenkette



        [Editiert von WhiteMountain am 19-02-2002 um 14:21]

        Kommentar


        • #5
          gibt´s auch als Code-Schnipsel: eMail-Adresse checken
          mein Sport: mein Frühstück: meine Arbeit:

          Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

          Kommentar

          Lädt...
          X