2012-07-13 43 views
1

我有一個使用類似這樣的PHP腳本。但由於某種原因,如果我有任何代碼與'符號,我得到PHP錯誤時加載頁面。所以出於某種原因,因此我需要將所有的javascripts移動到html .=''不存在的位置。PHP不能使用(')符號

但我需要這個代碼在我的網站內工作。我怎樣才能得到符號到這裏的代碼?

例如,在這個代碼下面我們就'linkText'這是因爲「< <此符號的問題

$html .= '<input onClick="SelectAll('linkText');" id="linkText" class="sharelinkboxes" /> 
    '; 
+0

爲什麼你需要一個HTML字符串放到一個VA可變結構?只是好奇 – ianace 2012-07-13 08:10:47

+0

我有一個網站,生成圖像,我必須讓用戶剪貼板鏈接的方式。 – mystycs 2012-07-13 08:25:14

+0

連接到我的最後一篇文章。 http://stackoverflow.com/questions/11465960/link-fill-script-in-input-form/11466038#11466038 – mystycs 2012-07-13 08:26:31

回答

7

你必須逃離'字符\

$html .= '<input onClick="SelectAll(\'linkText\');" id="linkText" class="sharelinkboxes" />'; 
+0

因此,編輯谷歌分析等這一切都將正常工作? – mystycs 2012-07-13 07:17:13

+0

它不會像以前那樣給出解析錯誤。 – hsz 2012-07-13 07:18:07

+0

是的,如果你使用'作爲開放標籤,那麼你總是必須添加'。或者只是打開「並使用正常的」 – Peon 2012-07-13 07:18:24

7

你必須逃避'中的字符串

$html .= '<input onClick="SelectAll(\'linkText\');" id="linkText" class="sharelinkboxes" />'; 
+0

因此,編輯這個谷歌分析等將所有正常工作? – mystycs 2012-07-13 07:12:44

+0

@soniccool是的,這是一個問題; ) – David 2012-10-12 14:09:32

0

讓我們更深入地瞭解你在做什麼: -

$html= '<input onClick="SelectAll('linkText');" id="linkText" class="sharelinkboxes" />'; 

當PHP只是第一個支架(」,它說:「哦,以後遇到第二單引號!這是第一個單引號的結束報價。這是錯誤開始的地方。所以,你必須要逃避它,就像下面: -

$html= '<input onClick="SelectAll(\'linkText\');" id="linkText" class="sharelinkboxes" />'; 
0

你可以不喜歡它

$html .= <<< HTML 
    <input onClick="SelectAll('linkText');" id="linkText" class="sharelinkboxes" /> 
HTML; 

但1不要把空間後<<< HTML也不要把空間之前或HTML;

後重要的事情

,或者您可以使用

$html .= '<input onClick="SelectAll(\'linkText\');" id="linkText" class="sharelinkboxes" />'; 
+1

使用'<<<'很髒...... – David 2012-07-13 10:20:15

+0

它比'onClick =「SelectAll(\'linkText \')沒有更髒;'' – AndroidLearner 2012-07-13 10:37:22

+0

'<<<'解決了報價問題和一個簡單的解決方案。轉義章程讓代碼難以理解,如果引號太多,你不會明白第一次嘗試的代碼。 – AndroidLearner 2012-07-13 10:39:06