php の echo ステートメント内に記述されている場合に、javascript 関数を介して変数を渡す方法。
ここに私のコード
引用符の問題
echo '<a style="color:green" href="javascript:void(0)" onclick="javascript:chatWith('$u_code','$u_name')" >'.$u_name.'</a>';
php の echo ステートメント内に記述されている場合に、javascript 関数を介して変数を渡す方法。
ここに私のコード
引用符の問題
echo '<a style="color:green" href="javascript:void(0)" onclick="javascript:chatWith('$u_code','$u_name')" >'.$u_name.'</a>';
を使用した最もクリーンなオプション\DOMDocument
:
<?php
$dom = new DOMDocument;
$e = $dom->createElement('a', $u_name);
$a = $dom->appendChild($e);
$a->setAttribute('style', 'color: green;');
$a->setAttribute('href', 'javascript:void(0);');
$a->setAttribute('onclick', 'chatWith("' . $u_code . '","' . $u_name . '");');
echo $dom->saveHTML();
これらの引用符をエスケープする必要があります。
echo '<a style="color:green" href="javascript:void(0)" onclick="javascript:chatWith(\''.$u_code.'\',\''.$u_name.'\')" >'.$u_name.'</a>';
PHP変数に「。」を追加する必要があります。引用符をエスケープする
echo '<a style="color:green" href="javascript:void(0)" onclick="javascript:chatWith(\''.$u_code.'\',\''.$u_name.'\')" >'.$u_name.'</a>';
echo '<a style="color:green" href="javascript:void(0)" onclick="javascript:chatWith('.$u_code.','.$u_name.')" >'.$u_name.'</a>';
引用符を修正する
echo '<a style="color:green" href="javascript:void(0)" onclick="javascript:chatWith(\''.$u_code.'\',\''.$u_name.'\')" >'.$u_name.'</a>';
echo "<a style=\"color:green\"
href=\"javascript:void(0)\"
onclick=\"javascript:chatWith('".$u_code."','".$u_name."')\"
>'.$u_name.'</a>";
ステートメント内の引用符をエスケープします。
echo '<a style="color:green" href="javascript:void(0)" onclick="javascript:chatWith(\''.$u_code.'\',\''.$u_name.'\')" >'.$u_name.'</a>';
これを行うことができます。これはよりクリーンです
$link = '<a onclick="javascript:chatWith({ucode},{uname})" style="color:green" href="javascript:void(0)">{anchor}</a>';
$link = str_replace(
$q = "'";
array('{ucode}', '{uname}', '{anchor}'),
array($q.$u_code.$q, $q.$u_name.$q, $uname),
$link
);
echo $link;
場合によっては、PHP を閉じて可読性を向上させ、ネストされた引用符で行き詰まらないようにする必要があります。
?>
<a style="color: green"
href="javascript: void(0);"
onclick="javascript: chatWith('<?php echo $u_code; ?>','<?php echo $u_name; ?>');">
<?php echo $u_name; ?>
</a>
<?php
これを使って
echo '<a style="color:green" href="javascript:void(0)" onclick="javascript:chatWith('.$u_code.','.$u_name.')" >'.$u_name.'</a>';
フォーマットがオフになっているようです。
echo '<a style="color:green" href="javascript:void(0)" onclick="javascript:chatWith(\''.$u_code.'\',\''.$u_name.'\')" >'.$u_name.'</a>';
これ.
は、PHP で変数を文字列に追加するために使用されます。単一引用符を使用しているため、変数を挿入するたびに文字列をエスケープする必要があります。
これが役に立ったことを願っています。
‐ シド