簡體   English   中英

轉義包含單引號和雙引號的字符串中的單引號

[英]Escape single quotes in string containing single and double quotes

我有一個PHP字符串,其中包含單引號和雙引號,但我很難將它正確地轉義。 甚至嘗試過在線報價網站,但他們的結果錯誤也是如此。

$confirmation .= '<a title="Share on Facebook" target="_blank" href="javascript: void(0)" onclick="window.open('http://www.facebook.com/sharer.php?u=http%3A%2F%2Fmydomain.com%2Fquiz%2F','sharer','toolbar=0,status=0,width=548,height=325');" class="">Share on Facebook</a>';

我不認為雙引號需要轉義。 盡管如此,我的所有嘗試都會在加載頁面時產生HTTP 500。

這個字符串中的單引號如何被轉義?

要在PHP中轉義嵌套引號,請使用\\

 $confirmation .= '<a title="Share on Facebook" target="_blank" href="javascript: void(0)" onclick="window.open(\'http://www.facebook.com/sharer.php?u=http%3A%2F%2Fmydomain.com%2Fquiz%2F\',\'sharer\',\'toolbar=0,status=0,width=548,height=325\');" class="">Share on Facebook</a>';

對於包含大量引號的復雜案例,使用heredoc可能更具可讀性和實用性:

$confirmation .= <<<EOT
  <a title="Share on Facebook" target="_blank" href="javascript:void(0)" onclick="window.open('http://www.facebook.com/sharer.php?u=http%3A%2F%2Fmydomain.com%2Fquiz%2F','sharer','toolbar=0,status=0,width=548,height=325');" class="">Share on Facebook</a>
EOT;

$confirmation .= '<a title="Share on Facebook" target="_blank" href="javascript: void(0)" onclick="window.open(\\'http://www.facebook.com/sharer.php?u=http%3A%2F%2Fmydomain.com%2Fquiz%2F\\',\\'sharer\\',\\'toolbar=0,status=0,width=548,height=325\\');" class="">Share on Facebook</a>';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM