problem mit html_entity_decode

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

  • weserweb
    antwortet
    goth verliert schon nach 6 bierchen den durchblick?

    seltsamerweise funktioniert heute alles, obwohl ich am code nichts geändert habe.
    war vielleicht der browser-cache? ich kann es nicht nachvollziehen.

    weil meine erklärung offenbar nicht verständlich war, liefere ich noch nach.
    vielleicht kann man das ja besser strukturieren.

    das script erzeugt ein benutzerdefiniertes formular, hier die grobe struktur:
    PHP-Code:
    <?php
    // alle variablen werden mit $_POST übergeben
    $text_1 stripslashes(htmlentities($_POST['text_1'], ENT_QUOTES));

    echo 
    "<form method='POST' action='".$_SERVER['PHP_SELF']."'>";

    if (isset(
    $step_2)) //Schritt 2 von 5 - Formulardefinition
        
    {
        
    // code
        
    echo "
        <input type='hidden' name='text_1' value='"
    .$text_1."'>
        <input type='submit' name='step_3' value='Weiter'>
        <input type='submit' value='Zurück'>
        </form>"
    ;
        }

    if (isset(
    $step_3)) //Schritt 3 von 5 - Formularvorschau
        
    {
        
    // code
        
    echo "
        <input type='hidden' name='text_1' value='"
    .$text_1."'>
        <input type='submit' name='step_4' value='Weiter'>
        <input type='submit' name='step_2' value='Zurück'>
        </form>"
    ;
        }

    if (isset(
    $step_4)) //Schritt 4 von 5 - Seitenoptionen
        
    {
        
    // code
        
    echo "
        <input type='hidden' name='text_1' value='"
    .$text_1."'>
        <input type='submit' name='step_5' value='Weiter'>
        <input type='submit' name='step_3' value='Zurück'>
        </form>"
    ;
        }

    if (isset(
    $step_5)) //Schritt 5 von 5 - Speichern
        
    {
        
    // code
        
    echo "
        <input type='hidden' name='text_1' value='"
    .$text_1."'>
        // wenn fehler
        <input type='submit' name='step_4' value='Zurück'>
        </form>"
    ;
        }
    else 
    // basisdaten
        
    {
        
    // code
        
    $text_1_show html_entity_decode($text_1ENT_QUOTES);
        echo 
    "
        <textarea name='text_1'>"
    .$text_1."</textarea>
        <input type='submit' name='step_2' value='Weiter'>
        </form>"
    ;
        }
    ?>
    statt der textarea benutze ich den fck-editor.
    wenn der nutzer nun wieder bis zum anfang zurüchklickt, muss ich den string wieder in die originalform bringen, da sonst die darstellung im editor nicht stimmt.
    hier wandelte html_entity_decode alles um bis auf die eckigen klammern.
    aber jetzt klappt es ja.

    danke für die hinweise und gruss.

    Einen Kommentar schreiben:


  • Hopka
    antwortet
    Versuche mal folgendes:
    PHP-Code:
    print_r(get_html_translation_table(HTML_ENTITIES)); 
    Evtl. gibt es ja tatsächlich Unterschiede zwischen den versch. Systemen - wäre allerdings etwas verwunderlich.

    Einen Kommentar schreiben:


  • goth
    antwortet
    Original geschrieben von Wurzel
    ich steig durch deine beschreibung nicht wirklich durch ... kann aber auch
    am bierchen liegen
    Glaub ich nicht ... ich hatte 6 Bierchen ... und steig auch nicht durch ...

    Einen Kommentar schreiben:


  • weserweb
    antwortet
    sind wir das nich alle ?! in diesem sinne
    philosophisch gesehen schon, aber wenn du wüsstest, was mein letzter job war...

    Einen Kommentar schreiben:


  • Wurzel
    antwortet
    Original geschrieben von weserweb
    ich sag' mal, ich bin fortgeschrittener anfänger. ... gruss und schönes wochenende!
    sind wir das nich alle ?! in diesem sinne

    Einen Kommentar schreiben:


  • weserweb
    antwortet
    schätze mal, dass sich bei der hinundher-htmlentitytierei (sch****wort) irgendwo ein fehler einschleicht.
    vermute ich auch.

    ich habe noch einmal getestet mit 2 scripten, das klappt. ich wollte es eigentlich vermeiden, aber evtl. zerlege ich das ganze monsterteil in 5 einzelscripte, das könnte das problem lösen.

    danke für den hinweis auf sessions. hatte ich ursprünglich so geplant und probiert, aber da gab es andere probleme.

    off-topic:
    falls die zahl meiner posting jemanden dazu veranlasst, mich für einen php-experten zu halten: falsch
    ich habe zwar jede menge literatur und auf dem 2. monitor alle manuals offen, doch trotz allem ist das forum immer noch eine grosse hilfe!
    ich sag' mal, ich bin fortgeschrittener anfänger. bitte postings auf 0.

    danke für den beitrag, hat mir weitergeholfen!
    gruss und schönes wochenende!

    Einen Kommentar schreiben:


  • Wurzel
    antwortet
    ich steig durch deine beschreibung nicht wirklich durch ... kann aber auch
    am bierchen liegen .... allerdings frage ich mich, warum du die daten
    nicht unhtmlentitied in einer session ablegst und zur anzeige htmlentitied
    über eine hilfsvariable ausgibst ... ? schätze mal, dass sich bei der
    hinundher-htmlentitytierei (sch****wort) irgendwo ein fehler einschleicht.

    Einen Kommentar schreiben:


  • weserweb
    antwortet
    @wurzel,
    wenn du mich meinst, ich bin völlig ruhig. habe mein bierchen ja auch schon genossen, wenn auch nicht in düsseldorf...

    danke für dein beispiel, es klappt auch bei mir.

    der grund liegt also bei mir.

    das script, um das es hier geht, besteht aus 5 teilen.

    der string $text wird im ersten teil generiert (textarea), soll im 3. teil angezeigt und im 5. teil gespeichert werden.

    für alle teile gemeinsam gibt es am anfang des scripts eine variablen-übergabe mit POST, dort wird die variable $text mit htmlentities bearbeitet.

    die einzelnen teile des scripts werden dann mit "if(isset()" angesprungen.

    die dazwischen liegenden teile generieren jeweils ein hidden-feld für die variable $text (htmlentieties)

    für die anzeige in teil 3 und zum speichern in teil 5 verwende ich "html_entity_decode" und genau hier tritt das problem auf.

    ich hoffe, die beschreibung ist klar genug? danke!

    Einen Kommentar schreiben:


  • Payne_of_Death
    antwortet
    Original geschrieben von weserweb
    ps: und bitte keine dümmlichen belehrungen mehr von asp...
    als dümmliche Bemerkung sehe ich das wiederrum nicht, sondern eher als Tatsache.

    Ich hab mit PCs den Umgebung via Klickereispielchen erlernt und wurde zu einem PC-Allrounder....

    Programmieren habe ich mir via Manual und kleinen Verständnis Programmen und eigenen Aufgabenstellungen beigebracht......

    Jedoch ist die Tryout Methode immer noch am Besten um etwas zu verstehen. -> Learning by Doing

    Man will dich net angreifen nur "Mach mal und lass net machen"

    Einen Kommentar schreiben:


  • asp2php
    antwortet
    Re: problem mit html_entity_decode

    Original geschrieben von weserweb
    hallo mal wieder,

    die funktion html_entity_decode verwandelt alles zurück bis auf die eckigen klammern "<" und ">".

    tritt das auch bei anderen auf?

    gruss.
    Tja, du kennst HTML-entities, ja ja...

    Einen Kommentar schreiben:


  • Wurzel
    antwortet
    jetzt beruhig dich mal wieder ...
    PHP-Code:
    <?
    $t = htmlentities("äöl <b>bla</b>hfjksdh");
    echo html_entity_decode($t);
    ?>
    ^^ tut bei mir einwandfrei

    Einen Kommentar schreiben:


  • weserweb
    antwortet
    asp...

    wieso masst du dir ein urteil darüber an, ob ich weiss, was html-entities sind?
    woher weisst du, dass ich "einfach so anfange zu programmieren..."?
    woher kennst meine gewohnheiten, mit dem manual umzugehen?
    woher kennst du den inhalt meines regals (ich habe übrigens mehrere) und meiner festplatte (auch mehrere)?

    auch oberlehrer sollten mal entspannen und in der schönen düsseldorfer altstadt ein gepflegtes bier trinken.

    aber alles off-topic.

    noch einmal, vielleicht kommt ja eine ja/nein-antwort:

    die eckigen klammern sind zweifelsohne entities.
    also wird aus "<" "&lt;" und aus ">" "&gt;"

    die funktion "html_entity_decode" (ab php 4.3.0) sollte das wieder umkehren, das funktioniert (bei meinem provider) bei allen anderen entities, nur eben bei den eckigen klammern nicht.

    also noch einmal die frage:
    hat jemand eine ähnliche erfahrung gemacht?

    im manual nachzulesen unter:
    http://de2.php.net/manual/en/functio...ity-decode.php

    ps: und bitte keine dümmlichen belehrungen mehr von asp...

    Einen Kommentar schreiben:


  • asp2php
    antwortet
    nach 227 posting müsstest du eigentlich wissen, was HTML entities sind,
    oder? Ansonsten kannste immer noch die uralte Methode "try 'n error"
    anwenden und daraus lernen. Man kann doch nicht einfach anfangen zu
    programmieren, ohne Grundlagen zu kennen. Ausserdem bevor man
    solche Grundlagenfragen stellt, sollte man sich zuerst um das Manuall
    bemühen, dafür sind die Dinge da, nicht um dein Regal zu verschönern
    oder deine Festplatte zu belegen.

    Einen Kommentar schreiben:


  • weserweb
    antwortet
    die frage meint genau das, was ich geschrieben habe. einfach lesen und verstehen.

    zitat manual:
    "...that it converts all HTML entities to their applicable characters from string."
    im übrigen halte ich den barschen oberlehrerton für unangebracht.

    Einen Kommentar schreiben:


  • asp2php
    antwortet
    was soll die Frage, schau dir das Bsp. im Manual an

    Einen Kommentar schreiben:

Lädt...
X