Falco H.: Maskieren, Verschachtelung

Hallo und frohe Feiertage vorerst.
Vorneweg, ich bin erst neu bei JavaScript- in HTML und PHP kenne ich mich da schon mehr aus.

Mein Ziel ist es, aus einer DB einer JS-Variablen Werte zu übermitteln.
Der DB-Inhalt, den ich auslesen will, ist mit htmlentities (PHP) kodiert. Wenn ich den Inhalt der DB auslese, dekodiere ich ihn erst (html_entity_decode) und maskiere ihn dann (addslashes).

Und jetzt kommt das Problem. Egal, wie ich versuche, der Variablen den String zu geben, es funktioniert nicht. Firebug meint dazu:

unterminated string literal

Die JS_Funktion, welche funktioniert wenn ich einen normalen String einsetze (var blub = "Hallo Welt!";):

function start(element) {
 if (element.name=="Einhand"){
  var blub = <?php echo '"'.$string.'"'?>;
  document.getElementById("box1").innerHTML = blub;
}}

Mein Quellcode sieht dann im Quellcode so aus:

function start(element) {
 if (element.name=="Einhand"){
  var blub = "<span class="Reihe"><span class="blau_ueber">PvP-Axt</span></span><br /> <span class="Reihe"><span class="weiß_vorder">Hieb- Schaden: 6-28 </span><span class="grau">(Erfordert 9 Axtbeherrschung)</span></span><br />
  [...]
";
  document.getElementById("box1").innerHTML = blub;
}}

----
Ich hoffe, ihr könnt mir helfen :)

Liebe Grüße
Falco

  1. Hallo,

    var blub = "<span class="Reihe"><span class="blau_ueber">PvP-Axt</span></span><br /> <span class="Reihe"><span class="weiß_vorder">Hieb- Schaden: 6-28 </span><span class="grau">(Erfordert 9 Axtbeherrschung)</span></span><br />
      [...]
    ";

    dein js-String darf nicht durch Zeilenumbrüche unterbrochen werden.

    Gruß plan_B

    --
         *®*´¯`·.¸¸.·
    1. Okay, danke schonmal.
      Und wie mach ich das am besten?

      1. Hallo,

        Und wie mach ich das am besten?

        ist die Frage ernst gemeint?

        http://de3.php.net/manual/de/function.str-replace.php da lassen sich passende Beispiele finden

        Gruß plan_B

        --
             *®*´¯`·.¸¸.·
        1. Hallo,

          Und wie mach ich das am besten?

          ist die Frage ernst gemeint?

          http://de3.php.net/manual/de/function.str-replace.php da lassen sich passende Beispiele finden

          Gruß plan_B

          Mir fehlt wohl ein Denkschritt:( Bei mir sieht das dann so aus:

          <spanclass="Reihe"><spanclass="blau_ueber">PvP-Axt</span></span><br/><spanclass="Reihe"><spanclass="weiß_vorder">Hieb-Schaden:6-28</span><spanclass="grau">(Erfordert9Axtbeherrschung)</span></span><br/>
          <spanclass="Reihe"><spanclass="blau_vorder">Inschrift:Keine</span></span><br/>
          <spanclass="Reihe"><spanclass="blau_ueber">PvP-Stock</span></span><br/><spanclass="Reihe"><spanclass="weiß_vorder">Chaos-Schaden:11-22</span><spanclass="grau">(Erfordert9Beherrschungsmagie)</span></span><br/>
          <spanclass="Reihe"><spanclass="blau_vorder">Inschrift:Keine</span></span><br/>

          1. Hallo,

            <spanclass="Reihe"><spanclass="blau_ueber">PvP-Axt</span></span><br/><spanclass="Reihe"><spanclass="weiß_vorder">Hieb-Schaden:6-28</span><spanclass="grau">(Erfordert9Axtbeherrschung)</span></span><br/>
            <spanclass="Reihe"><spanclass="blau_vorder">Inschrift:Keine</span></span><br/>
            <spanclass="Reihe"><spanclass="blau_ueber">PvP-Stock</span></span><br/><spanclass="Reihe"><spanclass="weiß_vorder">Chaos-Schaden:11-22</span><spanclass="grau">(Erfordert9Beherrschungsmagie)</span></span><br/>
            <spanclass="Reihe"><spanclass="blau_vorder">Inschrift:Keine</span></span><br/>

            sieht so aus, als wenn du noch ein paar Leerzeichen spendieren solltest.

            nehme mal an, du hast hier ein replace eingefügt, mit welchen Parametern?

            var blub = <?php echo '"'.$string.'"'?>;

            entscheidend ist, wie der Quelltext im Browser aussieht. Den solltest du auch kontrollieren.

            Gruß plan_B

            --
                 *®*´¯`·.¸¸.·
            1. nehme mal an, du hast hier ein replace eingefügt, mit welchen Parametern?

              Ganz unromantisch:
              $string=str_replace(" ", "", $string);

              entscheidend ist, wie der Quelltext im Browser aussieht. Den solltest du auch kontrollieren.

              Das, was ich bisher gepostet habe, war immer der Quelltext im Browser. Wenn ich den String sonst wo (nicht mit JS) ausgeben will, funktioniert das Problemlos.

              var blub = "<spanclass="Reihe"><spanclass="blau_ueber">PvP-Axt</span></span><br/><spanclass="Reihe"><spanclass="weiß_vorder">Hieb-Schaden:6-28</span><spanclass="grau">(Erfordert9Axtbeherrschung)</span></span><br/>
              <spanclass="Reihe"><spanclass="blau_vorder">Inschrift:Keine</span></span><br/>
              <spanclass="Reihe"><spanclass="blau_ueber">PvP-Stock</span></span><br/><spanclass="Reihe"><spanclass="weiß_vorder">Chaos-Schaden:11-22</span><spanclass="grau">(Erfordert9Beherrschungsmagie)</span></span><br/>
              <spanclass="Reihe"><spanclass="blau_vorder">Inschrift:Keine</span></span><br/>
              ";

              Liebe Grüße :)

              1. Hallo,

                nehme mal an, du hast hier ein replace eingefügt, mit welchen Parametern?
                Ganz unromantisch:
                $string=str_replace(" ", "", $string);

                wieso stören dich die Leerzeichen?
                ich dachte es ginge um Zeilenumbrüche: "\n", "\n\r" oder "\r"

                Gruß plan_B

                --
                     *®*´¯`·.¸¸.·
                1. wieso stören dich die Leerzeichen?
                  ich dachte es ginge um Zeilenumbrüche: "\n", "\n\r" oder "\r"

                  juhu, es klappt! Danke dir vielmals ;)

                  Noch einen schönen Abend