iT邦幫忙

0

求解一個簡單的 php html 閉合問題 (困擾一下午 已解決)

  • 分享至 

  • xImage
<?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 = "&apos;aaa&apos;";

echo "<a href='javascript:show($dir_name)' >111</a>";

?>

不好意思浪費大家時間了。 留下這個筆記給以後遇到的朋友

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
0
japhenchen
iT邦超人 1 級 ‧ 2022-12-17 21:06:07

php的字串可以用2種引號,javascript則是3種都可以(esc下方的 ` 是用來做字串插補的功能)

$mystr = '<script>alert("test");</script>';
$mystr = "<script>alert(`test`);</script>";

習慣非要用雙引號不可的話,在字串內的雙引號前加個反斜線就好,不過,不適用於BIG5編碼世界裡

$mystr = "<script>alert(\"test\");</script>";

phantom_0 iT邦新手 5 級 ‧ 2022-12-19 12:25:52 檢舉

非常感謝

demibull
iT邦新手 5 級 ‧ 2022-12-17 22:08:06
【**此則訊息已被站方移除**】
1
wiseguy
iT邦超人 1 級 ‧ 2022-12-18 15:18:39

你其實不必那麼執著用字串內嵌變數來做,這樣用逗點隔開就行了

echo '<a href="javascript:show(',"'",$dir_name,"'",')">  hi <a>';
phantom_0 iT邦新手 5 級 ‧ 2022-12-19 12:25:46 檢舉

非常感謝

wiseguy iT邦超人 1 級 ‧ 2022-12-19 14:33:41 檢舉

如果你有要求速度的吹毛求疵精神,可以比較看看這幾種 echo 寫法的速度。就會知道為什麼我推薦單引號配逗點。

phantom_0 iT邦新手 5 級 ‧ 2022-12-19 17:01:25 檢舉

謝謝 我個人風格偏向 代碼越短,越好看,好debug 為優先。 我覺得你的思路還是很不錯 跟我一開始預想的方法 很類似。謝謝大大

1
<?php

$dir_name = "aaa";

echo "<a href='javascript:show(\"{$dir_name}\")'>111</a>";
?>

這樣就好了

phantom_0 iT邦新手 5 級 ‧ 2022-12-19 12:25:59 檢舉

非常感謝

我要發表回答

立即登入回答