html, leerzeichen und sonerzeichen aus string entfernenGuten Tag,

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

  • html, leerzeichen und sonerzeichen aus string entfernenGuten Tag,

    Guten Tag,

    was wäre die einfachste Möglichkeit aus folgendem String der sich in einem Feld einer mysql DB befindet alle html tags, html entities und Sonderzeichen zu löschen, so dass sich wirklich nur noch Buchstaben und Ziffern um String befinden. Sprich:

    aus:
    deinu-TTT<sup>&reg;</sup>A

    wird:
    deinuTTTA



    Danke

  • #2
    machst du erst strip_tags und danach bastelst du mit preg_match und löscht alles, was nicht a-z 0-9 ist
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      preg_replace('#[^a-z0-9 ]#','',$string);
      TBT

      Die zwei wichtigsten Regeln für eine berufliche Karriere:
      1. Verrate niemals alles was du weißt!


      PHP 2 AllPatrizier II Browsergame

      Kommentar


      • #4
        poser
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          Hallo,

          die preg_replace() verstehe ich einfach nicht.
          Habe sie mir schon mehrmals auf der php.net Seite angeschaut.

          Wie wäre es hiermit:

          PHP-Code:
          $productname str_replace(" """$row['productname']);
          $productname str_replace("<sup>&reg;</sup>"""$productname);
          $productname str_replace("-"""$productname); 
          ?

          PS:

          Das Problem ist, dass in de DB nicht das Registered Zeichen steht, so wie es hier im Forum erscheint, sondern & reg;
          Das würde dann ja mit diesem preg_ replace() nicht erkannt.
          Zuletzt geändert von compuboy1010; 24.03.2004, 14:41.

          Kommentar


          • #6
            EDIT:
            sorry, doppelpost, bitte löschen
            Zuletzt geändert von Tartax; 24.03.2004, 14:46.
            Die Musikreview Seite

            hi, i'm a signature virus. copy me into your signature to help me spread.

            Kommentar


            • #7
              Was du geschrieben muß so sein:
              PHP-Code:
              $productname str_replace(" """$row['productname']);
              $productname str_replace("<sup>&reg;</sup>"""$productname);
              $productname str_replace("-"""$productname); 
              wenn du willst dass "<sup>&reg;</sup>" rausgeschmissen wird könntest du das auch mit dem regexp machn:
              PHP-Code:
              preg_replace('#[^a-z0-9 ]|&reg;','',$string); 
              strip_tags erledigt den rest!


              es gibt hier unter den Tutorials ein schönes über regexps(reguläre ausdrücke)!
              Zuletzt geändert von Tartax; 24.03.2004, 14:48.
              Die Musikreview Seite

              hi, i'm a signature virus. copy me into your signature to help me spread.

              Kommentar


              • #8
                Das ergibt aber folgende Fehlermeldung:

                No ending delimiter '#' found in:

                PHP-Code:
                strip_tags(preg_replace('#[^a-z0-9 ]|&reg;','',$row['productnamel'])); 

                Kommentar


                • #9
                  Original geschrieben von compuboy1010
                  No ending delimiter '#' found in:
                  hergott, der wurde wohl vergessen. setze ihn doch selber
                  h.a.n.d.
                  Schmalle

                  http://impressed.by
                  http://blog.schmalenberger.it



                  Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
                  ... nur ohne :-)

                  Kommentar


                  • #10
                    Ich sagte doch ich verstehe diese Funktion nicht.

                    Hatte folgendes ausprobiert:

                    PHP-Code:
                    strip_tags(preg_replace('#[^a-z0-9]|&reg; #','',$row['d_produktnamehtml'])); 
                    Klappt aber auch nicht.

                    Kommentar


                    • #11
                      Original geschrieben von compuboy1010
                      Ich sagte doch ich verstehe diese Funktion nicht.
                      du hast weiter oben schon einen hinweis auf das tutorial bekommen. versuche es mal mit lesen. wenn du es dann noch nicht verstanden hast ..... ich lasse es ;9
                      h.a.n.d.
                      Schmalle

                      http://impressed.by
                      http://blog.schmalenberger.it



                      Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
                      ... nur ohne :-)

                      Kommentar


                      • #12
                        http://www.php-resource.de/tutorials...1/#charclasses

                        Habe es gerade gelesen.
                        Wirklich gut. Aber nachdem ich folgendes anwende:

                        PHP-Code:
                        strip_tags(preg_replace('#[^a-z0-9]|&reg; #','',$row['d_produktnamehtml'])); 
                        wird alles rausgefiltert. der Produktname ist also "".

                        Wie kann das sein ?

                        Danke

                        Kommentar


                        • #13
                          Es bestehen folgende probleme:
                          Zuerst auseführt wird dieser ausdruck: [^a-z0-9] alles was dem entspricht wird mit nix ersetzt:

                          <div> wird zu 'div', und & r e g ; wird zu 'reg'

                          daher, bring es nichts wenn danach der ausdruck &reg; => '' und strip_tags verwandt wird, ich würde es so machen:

                          PHP-Code:
                          preg_replace('#&reg;|[^a-z0-9]#','',strip_tags($row['d_produktnamehtml'])); 
                          ich weiß nicht ob du lerzeichen auch ersten willst oder nicht!?!?
                          Die Musikreview Seite

                          hi, i'm a signature virus. copy me into your signature to help me spread.

                          Kommentar


                          • #14
                            Danke es funktioniert nun!!

                            Gruß Compu
                            Zuletzt geändert von compuboy1010; 25.03.2004, 10:12.

                            Kommentar


                            • #15
                              Guten Morgen,

                              habe immernoch Probleme mit dem registered Zeichen in der mySQL DB. Und zwar benutze ich die ereg_replace Funktion, aber wenn ich folgende Funktion habe:

                              PHP-Code:
                                  function returnHTMLCompatible(/* array */ $arr)
                                  {
                                      foreach(
                              $arr as $key => $value) {
                                                                              
                              $registered ' <sup>&reg;</sup> ';
                                                                              
                              ereg_replace(' hie geht kein reg Zeichen rein '$registered$arr[$key]);

                                          
                              $arr[$key] = htmlentities($value);
                                  } 
                              wird das reg Zeichen in der Funktion sofort in ;reg umgewandelt.
                              Wie soll ich da der Funktion sagen wonach sie suchen soll ?


                              Danke

                              Kommentar

                              Lädt...
                              X