Array für htmlentities() & CO

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

  • Array für htmlentities() & CO

    Hi!
    ich hatte hier mal ein Beispiel für die Abarbeitung von htmlentities() gesehen. Leider kann ich das nichtmehr finden.

    Ich hab bissl rumprobiert, funktioniert aber nicht ^^

    PHP-Code:
    $cleaner = array('$artikelnr','$weinname''$weinbild');
        
    $cleaner stripslashes($cleaner);
        
    $cleaner strip_tags($cleaner);
        
    $cleaner htmlentities($cleanerENT_QUOTES"iso-8859-1"); 
        
    ENT_QUOTES"iso-8859-1"); 
        
    //$kurzbeschreibung = eregi_replace("\n", "<br />", $kurzbeschreibung);
        
        
    $sql "INSERT INTO zw_weine (artikelnr,weinname,weinbild) 
    VALUES ('
    $artikelnr','$weinname','$weinbild')";
        
    $res mysql_query ("$sql") or die ("<b>A fatal MySQL error occured</b>.\n<br />Query: " $sql .
     
    "<br />\nError: (" mysql_errno() . ") " mysql_error());
         if (!
    $error_msg) {
            echo 
    "Wein wurde in die Datenbank eingetragen";
        } 
    Ich möchte das gerne mit einem Array lösen.

    Danke für ein Tipp!

    Gruss Jens

    EDIT:
    hab mal ein paar elemente aus dem array rausgeschmissen, wollte nicht kilometerweit nach rechts scrollen
    Zuletzt geändert von mrhappiness; 22.07.2004, 22:26.

  • #2
    array_walk könnte dein freund werden

    abgesehen davon, solltest du die ' beim anlegen des arrays rausnehmen
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      Danke!
      ich hab da mal rumgedoktert. Leider ohne Erfolg.
      PHP-Code:
      $cleaner = array($artikelnr,$weinname,$WID,$qualitaet,$LID,$RID,$klima,$rebsorte,$alkohol,$saeure,$restzucker,$.........
          
      $array_walk ($cleaner'htmlentities'); 
      ich bekomme in der Zeile mit dem array_walk immer:

      PHP-Code:
      Fatal errorCall to undefined function: () in /www/htdocs/zeterad/v02/admin/inc/func_admin.inc.php on line 192 
      Bin noch etwas "NEU" in Sachen PHP. Ich könnte die Variablen auch einzeln reinigen, aber ich habe den Ehrgeiz das etwas eleganter zu lösen.

      Vielleicht steht neben dir ein Zaunpfah den du zum winken nutzen kanns

      Gruss Jens

      Kommentar


      • #4
        Original geschrieben von swonkel
        Danke!
        ich hab da mal rumgedoktert. Leider ohne Erfolg.
        PHP-Code:
        $cleaner = array($artikelnr,$weinname,$WID,$qualitaet,$LID,$RID,$klima,$rebsorte,$alkohol,$saeure,$restzucker,$.........
            
        $array_walk ($cleaner'htmlentities'); 
        hm, in dem Link von mrhappiness wird array_walk aber anders gehandthabt, namlich ohne "$" davor ...

        Forumregeln!

        Gute PHP-(tutorial-)Seiten

        Kommentar


        • #5
          oh man!

          Ich blindes Huhn. Ich bekomm es aber trotzdem nicht ans Laufen
          PHP-Code:
          $cleaner = array($artikelnr,$weinname,$WID,$qualitaet,$LID,$RID,$klima,$rebsorte,$a........
          array_walk ($cleaner'strip_tags'); 

          Kommentar


          • #6
            so geht es...

            Hallo,

            probiere einmal folgendes:

            PHP-Code:
            function af (&$item$key$func) {
                
            $item $func($item);
            return(
            null);
            }

            $a="A<B>";
            $b="Ö";
            // ...usw.
            $cleaner=array(&$a, &$b);
            array_walk ($cleaner"af""htmlentities"); 
            ergebnis:
            $a="A&lt;B&gt;"
            $b="&Öuml;"; <= Ouml
            ...

            1) array_walk akzeptiert per se keine bestehenden Funktionen
            2) per Referenz (&$item) ist wichtig (auch im cleaner array!)
            3) achtung: $func($xxx) ist 'variable Funktion'

            Du kannst also mit meinem Beispiel als Dritten Parameter den Namen
            einer PHP-Funktion übergeben.


            nice Day
            Quickborner
            Zuletzt geändert von Quickborner; 25.07.2004, 17:41.

            Kommentar


            • #7
              Re: so geht es...

              Original geschrieben von Quickborner
              [B]Hallo,

              probiere einmal folgendes:

              PHP-Code:
              function af (&$item$key$func) {
                  
              $item $func($item);
              return(
              null);
              }

              ..............] 
              Ich hab das mal probiert. Ohne Erfolg.
              das möchte ich mit dem array machen:
              PHP-Code:
              $kurzbeschreibung stripslashes($kurzbeschreibung);
              $kurzbeschreibung strip_tags($kurzbeschreibung);
              $kurzbeschreibung htmlentities($kurzbeschreibungENT_QUOTES"iso-8859-1"); 
              Ich habe 16 Variablen die da durch müssten. Gibt es da irgendeine Alternative? Ich komm momentan nicht weiter mit dem was ich da habe.

              Gruss
              Jens

              Kommentar


              • #8
                probier mal
                PHP-Code:
                function af (&$item$key$func) {
                   eval(
                "\\$item = $func('$item')), ENT_QUOTES, 'iso-8859-1');");
                }
                array_walk ($cleaner"af""htmlentities(strip_tags(stripslashes"); 
                ist ungetestet, sollte aber funktionieren


                alternativ:
                PHP-Code:
                function af (&$item$key$func) {
                    if (
                $func == 'htmlentitites')
                        echo 
                $item $func($itemENT_QUOTES'iso-8859-1');
                    else
                        
                $item $func($item);
                }

                array_walk($cleaner'af''stripslashes');
                array_walk($cleaner'af''strip_tags');
                array_walk($cleaner'af''htmlentities'); 
                oder einfach mit foreach
                Ich denke, also bin ich. - Einige sind trotzdem...

                Kommentar


                • #9
                  hey mann,

                  das (ohne Erfolg) klinkt unhöflich, ich denke ich habe einen sehr guten
                  Ansatz geliefert!

                  dann nimm einfach das:

                  PHP-Code:
                  function af (&$item$key) { return ($item=htmlentities(strip_tags(stripslashes($item)), ENT_QUOTES"iso-8859-1")  );}

                  $a="\"ö>";
                  // $b="&ouml;"; ... usw.
                  $cleaner=array(&$a, &$b);
                  array_walk ($cleaner"af");
                  echo 
                  $a// ergibt &quot;&ouml;&gt; 
                  nice night
                  Quickborner

                  Kommentar


                  • #10
                    Original geschrieben von Quickborner
                    [B]hey mann,

                    das (ohne Erfolg) klinkt unhöflich, ich denke ich habe einen sehr guten
                    Ansatz geliefert!
                    So war das aber nicht gemeint, sorry wenn es so rüberkam!

                    Gruss Jens

                    Kommentar


                    • #11
                      Original geschrieben von Quickborner
                      hey mann,

                      das (ohne Erfolg) klinkt unhöflich, ich denke ich habe einen sehr guten
                      Ansatz geliefert!

                      dann nimm einfach das:

                      PHP-Code:
                      function af (&$item$key) { return ($item=htmlentities(strip_tags(stripslashes($item)), ENT_QUOTES"iso-8859-1")  );}

                      $a="\"ö>";
                      // $b="&ouml;"; ... usw.
                      $cleaner=array(&$a, &$b);
                      array_walk ($cleaner"af");
                      echo 
                      $a// ergibt &quot;&ouml;&gt; 
                      nice night
                      Quickborner
                      Hi!
                      Ich war ein paar Tage unterwegs, deshalb jetzt erst das Feedback. Danke für eure Hilfe. Die Lösung von Quickborner funktioniert Bestens!

                      THX again!
                      JENS
                      Zuletzt geändert von swonkel; 29.07.2004, 23:16.

                      Kommentar

                      Lädt...
                      X