Ergebnis 1 bis 10 von 10

Thema: [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.

    Geändert von Dingsi (28.08.2006 um 16:12 Uhr)

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

    e1:
    Hat wunderbar geklappt, tausend dank. =)

    Geändert von Blakkeight (28.08.2006 um 16:58 Uhr)

  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
    Zitat Zitat von 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.

    Zitat Zitat von 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
    Zitat Zitat von Dingsi
    Es geht doch gerade darum, dass die Variablen nicht erkannt werden sollen.
    Ja, richtig^^

    Zitat Zitat
    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 

    Geändert von ice cold killa (30.08.2006 um 10:39 Uhr)

  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

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •