Christian: Variable mit Functionsergebnis ...

Hallo,

folgendes Problem habe ich im Moment:

Eine Website wird aus verschiedenen, teilweise langen Variablen zusammengebaut. Einige Variablen werden über eine Funktion ausgegeben (übersetzung).

Der Code wird wie folgt ausgegeben und die Variablen dann im Text eingefügt. Bei direktem einfügen über $test geht's einwandfrei, nur ich bin zu deppert, die translate() Funktion so einzubauen, ohne jedesmal die HTML Variable zu zerstückeln.

$html.=<<<END
<!-- hier kommt dann HTML Content --->
<br><br>$die_var_geht<br><br>$die_auch<br><br>
<br><b>".translate("sogehtsnicht")."</b><br>
<!-- ende HTML -->
END;

echo $html;
-------------------------------
Das ist die Funktion
function translate($var) {
   $erg = "hier kommt dann die Übersetzung rein";
    return $erg;
}
-------------------------------

Jemand eine Idee, wie ich das realisieren kann, ohne jedesmal die Erstellung der Variable manuell zu unterbrechen?

Also NICHT so:
$html.="<!-- hier kommt dann HTML Content --->
<br><br>$die_var_geht<br><br>$die_auch<br><br>";
$html.=translate("das_geht");
$html.="<br>und weiter gehts mit dem normalen Content<br>";

echo $html;

  1. Hi

    Du rufst ja in deinem Content Bereich die Funktion translate() auf. Diese gibt jedoch nur einen Wert zurück. Ausgeben tut sie nichts. Entweder du gibst die Variable in der Funktion aus oder du gibst den Rückgabewert der jetzigen Funktion aus (echo translate(); )

    Gruß
    Moe

  2. Hi Christian!

    nur ich bin zu deppert, die translate() Funktion so einzubauen, ohne jedesmal die HTML Variable zu zerstückeln.

    Du kannst innerhalb von heredoc-Blöcken keine Funktionen aufrufen.

    Jemand eine Idee, wie ich das realisieren kann, ohne jedesmal die Erstellung der Variable manuell zu unterbrechen?

    Was ist daran verkehrt?

    MfG H☼psel

    --
    "It's amazing I won. I was running against peace, prosperity, and incumbency."
    George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
    Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)
  3. Hallo,

    folgendes Problem habe ich im Moment:

    Eine Website wird aus verschiedenen, teilweise langen Variablen zusammengebaut. Einige Variablen werden über eine Funktion ausgegeben (übersetzung).

    Der Code wird wie folgt ausgegeben und die Variablen dann im Text eingefügt. Bei direktem einfügen über $test geht's einwandfrei, nur ich bin zu deppert, die translate() Funktion so einzubauen, ohne jedesmal die HTML Variable zu zerstückeln.

    $html.=<<<END
    <!-- hier kommt dann HTML Content --->
    <br><br>$die_var_geht<br><br>$die_auch<br><br>
    <br><b>".translate("sogehtsnicht")."</b><br>
    <!-- ende HTML -->
    END;

    echo $html;

    Das ist die Funktion
    function translate($var) {
       $erg = "hier kommt dann die Übersetzung rein";
        return $erg;
    }

    Jemand eine Idee, wie ich das realisieren kann, ohne jedesmal die Erstellung der Variable manuell zu unterbrechen?

    Also NICHT so:
    $html.="<!-- hier kommt dann HTML Content --->
    <br><br>$die_var_geht<br><br>$die_auch<br><br>";
    $html.=translate("das_geht");
    $html.="<br>und weiter gehts mit dem normalen Content<br>";

    echo $html;

    Hallo,
    danke für den "Augenöffner".
    habe das nun anders realsiert ... alle relevanten Ergebnisse in ein Arry geschrieben, welches ich dann im heredoc ausgeben kann mittels:
    {$text['text1']}

    Merci