Christian Seiler: replace()

Beitrag lesen

Hallo Till,

warum funzt folgendes nicht:

----------javascript-------
function soundso(txtorg) {
var vormals = txtorg;
var txt = vormals.replace(/zzzzzz/," ");
...usw
}

Wieso? Das geht doch:

--------------------------------------------------------
<html>
<head>
<script type="text/javascript">
<!--
  function soundso(txtorg) {
    var vormals = txtorg;
    var txt = vormals.replace(/zzzzzz/," ");
    alert (txt);
  }
//-->
</script>
</head>
<body>
<a href="#" onClick="soundso('HallozzzzzzLeutz.'); return false;">test</a>
</body>
</html>
--------------------------------------------------------

Wie übergibst Du eigentlich die Variable von PHP nach JS? Dir ist klar, dass PHP und JavaScript auf zwei getrennten Ebenen ablaufen (PHP: Server, JS: Client) und Du daher von JS nicht so ohne weiteres auf PHP-Variablen zugreifen kannst? Du musst mit PHP den JS-Code für die Variablen generieren, z.B. so:

echo '<script type="text/javascript">' . "\n";
echo '<!--' . "\n";
echo 'var txtorg = "' . $txtorg . '";' . "\n";
echo '//-->' . "\n";
echo '</script>' . "\n";

Grüße,

Christian

P.S.: ein kleiner Tipp zu Deinem PHP-Teil: ereg_replace ist böse[tm] (lahm, nicht binärsicher), nimm' entweder str_replace (in diesem Falle am besten) oder preg_replace. (wenn Du reguläre Ausdrücke brauchst)