<?php
$dir_name = "aaa";
echo "<a href='javascript:show('$dir_name')> hi <a>";
?>
我最終想要的是 html 結果是
<a href="javascript:show('aaa')"> hi <a>
不過嘗試了很多種方式,還是會因為 單引號 或雙引號 導致閉合出錯
失敗例子例如:
<?php
echo "<a href='". "javascript:show($dir_name)'" . ">" . "hi <a>";
?>
不知道各位大神有沒有好辦法。
解決方案:
<?php
$dir_name = "'aaa'";
echo "<a href='javascript:show($dir_name)' >111</a>";
?>
不好意思浪費大家時間了。 留下這個筆記給以後遇到的朋友
php的字串可以用2種引號,javascript則是3種都可以(esc下方的 ` 是用來做字串插補的功能)
$mystr = '<script>alert("test");</script>';
$mystr = "<script>alert(`test`);</script>";
習慣非要用雙引號不可的話,在字串內的雙引號前加個反斜線就好,不過,不適用於BIG5編碼世界裡
$mystr = "<script>alert(\"test\");</script>";
你其實不必那麼執著用字串內嵌變數來做,這樣用逗點隔開就行了
echo '<a href="javascript:show(',"'",$dir_name,"'",')"> hi <a>';
<?php
$dir_name = "aaa";
echo "<a href='javascript:show(\"{$dir_name}\")'>111</a>";
?>
這樣就好了