Results 1 to 10 of 10

Thread: [PHP] Variablen prob

  1. #1

    [PHP] Variablen prob

    Tach,
    ich habe folgendes Problem, ich will den Inhalt einer Variable in einer MySQL Tabelle Speichern (klappt wunderbar), der Inhalt der Variable ist HTML code mit weiteren Variablen drin.
    Das sieht dann so aus:

    PHP Code:
    $htm =                "
        <div class=\"n_title\">
    $news_title</div><br>
        <div class=\"n_addy\">Geschrieben am 
    $news_date von <a class=\"n_mail\" href=\"mailto:$news_mail\">$news_name</a></div><br>
        <div class=\"n_body\">
    $news_post</div><br>
        <hr noshade>
    "

    Nun zum Problem, es wuerd der Inhalt der Variablen gespeichert und nicht der Name. Ich will aber das z.b. Variable $news_title auch so gespeichert wuerd wie sie da steht und nicht der Inhalt.

    Wie kann ich das machen?

    Ich habe erst an str_replace() gedacht aber vlt wisst ihr ja was besseres?

    gruß Jay

  2. #2
    PHP Code:
    $htm =                "
        <div class=\"n_title\">\$news_title</div><br>
        <div class=\"n_addy\">Geschrieben am \$news_date von <a class=\"n_mail\" href=\"mailto:\$news_mail\">\$news_name</a></div><br>
        <div class=\"n_body\">\$news_post</div><br>
        <hr noshade>
    "

    HTH.

    Mir ist gerade aufgefallen, dass das noch viel einfacher geht. o_O

    PHP Code:
    $htm =                '
        <div class="n_title">$news_title</div><br>
        <div class="n_addy">Geschrieben am $news_date von <a class="n_mail" href="mailto:$news_mail">$news_name</a></div><br>
        <div class="n_body">$news_post</div><br>
        <hr noshade>
    '

    In ' wird nichts geparst und es muss nichts außer ' escaped werden.

    Last edited by Dingsi; 28.08.2006 at 17:12.

  3. #3
    Cool gleich mal ausproben! =) Meld mich wenns klappt oder wenn nicht.

    e1:
    Hat wunderbar geklappt, tausend dank. =)

    Last edited by Blakkeight; 28.08.2006 at 17:58.

  4. #4
    Hm, ich kanns nicht lassen.^^

    Es ist zwar nur ein Auschschnitt der gesamten Seite, aber gibt es wirklich keine <hX> und <p> Alternativen zusammen mit Stylesheets anstatt der lästigen <div> und <br>s?

    Btw: Ich dachte innerhalb von ' werden auch keine Variablen erkannt?
    Egal, Wenn man einen PHP String mit " einschließt kann man auch auf ' als Attributunklammerung zurückgreifen

  5. #5
    Quote Originally Posted by mitaki
    Hm, ich kanns nicht lassen.^^

    Es ist zwar nur ein Auschschnitt der gesamten Seite, aber gibt es wirklich keine <hX> und <p> Alternativen zusammen mit Stylesheets anstatt der lästigen <div> und <br>s?
    Das ist in der Tat irgendwie unsinnig. DIVs sind standardmäßig eigentlich Blöcke, also brauchen sie kein BR. Wenn man mehr Abstand will, macht man das mit CSS @Jay.

    Quote Originally Posted by takey
    Btw: Ich dachte innerhalb von ' werden auch keine Variablen erkannt?
    Egal, Wenn man einen PHP String mit " einschließt kann man auch auf ' als Attributunklammerung zurückgreifen
    Es geht doch gerade darum, dass die Variablen nicht erkannt werden sollen.

  6. #6
    Quote Originally Posted by Dingsi
    Es geht doch gerade darum, dass die Variablen nicht erkannt werden sollen.
    Ja, richtig^^

    Quote Quote
    ich habe folgendes Problem, ich will den Inhalt einer Variable in einer MySQL Tabelle Speichern (klappt wunderbar), der Inhalt der Variable ist HTML code mit weiteren Variablen drin.
    Hm, grundsätzlich bin ich ja der Meinung, den HTML Nebenbestand nicht mitzuspeichern, aber wenn du die Variablen als Namen mit reinspeicherst hat das wohl einen anderen Grund.

  7. #7
    LOL den Code da oben habe ich noch nicht getestet. =)
    War bloß ein bsp. aber ihr habt recht eigendlich koennen die <br>s weg.

    Das mit den Variablen hat schon seinen Grund denn so ein Code wie der oben dient mir als eine art Template was man dann im Browser auslesen und veraendern kann.

  8. #8
    Öhmm.. Ich störe nur Ungern aber....

    Wenn du es in ' so klammern machst, dann dürften die Variablen nicht angezeit werden..

    Zumindes hab ichs so in erinnerung xD

    Such dir am besten ein template system, das is einfach das besten...

    Oder es giebt noch ne möglichkeit die genau für sowas ist aber ich hab sie nimmer so ganz in erinnerungen, wenns dann einer vervollständigen könnt:

    PHP Code:
    $html_formatierter_text = <<<END
        <div class="n_title">$news_title</div><br>
        <div class="n_addy">Geschrieben am 
    $news_date von <a class="n_mail" href="mailto:$news_mail">$news_name</a></div><br>
        <div class="n_body">
    $news_post</div><br>
        <hr noshade>
    END; 
    Das sollte sogar Stimmen, denn laut php.net:

    PHP Code:
    echo <<<END
    Hier wird die "here document"-Syntax verwendet, um mehrere
    Zeilen mit 
    $variablen Interpolation auszugeben. Beachten Sie,
    dass das sich das "here document"-Endzeichen in einer Zeile
    mit nur einem Strichpunkt aber ohne Leerzeichen o.ä. stehen muss!
    END;
    // Und was mit echo geht geht auch mit Variablen xD 

    Last edited by ice cold killa; 30.08.2006 at 11:39.

  9. #9
    @ice cold killa:
    Auch du scheinst nicht richtig gelesen zu haben. Die Variablen sollen eben NICHT ausgewertet werden. Er will eine Zeichenkette in der '$foobar' steht und nicht der Inhalt von $foobar.

  10. #10

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •