簡體   English   中英

php 在包含 javascript 和引號時遇到問題?

[英]php having issue with including javascript and quotes?

這是我的代碼:

$buffer .= '<legend>'.$thisField.'</legend><input type="text" name="'.$thisField.'" id="'.$thisField.'"/> <a href="javascript:;" onClick="mcImageManager.browse({fields : 'url_abs'});">[Pick file]</a><br /><small>360px W x 240px H</small><br /><br />';

它打破了語法錯誤,意外的 T_STRING

我已經嘗試過單引號、雙引號和 escaping 的每種組合?

我不知所措,我錯過了什么?

謝謝!!

只需使用反斜杠轉義字符串中的引號即可:

$buffer .= '<legend>'.$thisField.'</legend><input type="text" name="'.$thisField.'" id="'.$thisField.'"/> <a href="javascript:;" onClick="mcImageManager.browse({fields : \'url_abs\'});">[Pick file]</a><br /><small>360px W x 240px H</small><br /><br />';

請參閱PHP 手冊

要指定文字單引號,請使用反斜杠 (\) 對其進行轉義。

在這種情況下,建議使用HEREDOC字符串,以提高可讀性:

$buffer .= <<<END
  <legend>$thisField</legend>
  <input type="text" name="$thisField" id="$thisField"/>
  <a href="javascript:;" onClick="mcImageManager.browse({fields : 'url_abs'});">[Pick file]</a>
  <br /><small>360px W x 240px H</small><br /><br />
END;

這避免了必須轉義任何引號。 您可以在這樣的塊中按原樣編寫 $variables 。

正如熒光筆告訴你的那樣, php 將在{fields: 'url_abs'}附近失敗。 您在單引號字符串中,因此您必須轉義字符串中的單引號: {fields: \'url_abs\'}

問題是 url_abs 周圍的單引號。

暫無
暫無

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

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