2012-05-27 92 views
3
<option value="Bob's Weekend">Bob's Weekend</option> 

我很難過。撇號使腳本和我自己混淆。我怎麼能在PHP中迴應這個問題?PHP我怎麼能迴應這個HTML?

echo '<option value="Bob's Weekend">Bob's Weekend</option>'; //syntax error 
echo '?><option value="Bob's Weekend">Bob's Weekend</option><?php ';?> //syntax error 
+1

我補償upvoted這個問題 - 這可能會阻止很多初學者,這有助於他們看到答案。 – bitops

+0

@bitops同意。有些人往往會忘記他們哪裏有一些初學者,還有一些人正在學習基礎知識,並減少簡單的問題。 – rcdmk

回答

10

首先,你可以只退出PHP的,放在字面HTML:

?><option value="Bob's Weekend">Bob's Weekend</option><?php 

其次,你可以使用反斜槓:

echo '<option value="Bob\'s Weekend">Bob\'s Weekend</option>'; 

echo "<option value=\"Bob's Weekend\">Bob's Weekend</option>"; 

最後,你可以使用here-document:

echo <<<END 
<option value="Bob's Weekend">Bob's Weekend</option> 
END; 

我會與第一個選項,我自己。在PHP代碼中執行echo的操作似乎有點愚蠢,因爲您只需要退出PHP並自動回顯所有內容。

+0

好建議,每天我看到人們saing:」不要回顯HTML「 – rcdmk

+0

接受解釋所有的選項。 – Norse

1

試試這個

echo '<option value="Bob\'s Weekend">Bob\'s Weekend</option>'; 
+1

使用單引號作爲字符串「容器」時,您不希望使用雙引號。它會回顯爲'\「' –

+0

對不起,我的壞,我修好了它 – theliberalsurfer

2

使用雙引號和逃避字面的:

echo "<option value=\"Bob's Weekend\">Bob's Weekend</option>"; 
2
<?php 

echo '<option value="Bob\'s Weekend">Bob\'s Weekend</option>'; 

爲我工作。所有你需要的是一個額外的轉義字符。