2011-03-30 182 views
0

一個複雜的字符串我有一個這樣的字符串:擺脫與PHP

<form action='php/zoneNotifUnsub.php' id='zoneNotifUnsub' method='POST'> 
    <?php 
     echo $var; 
    ?> 
</form> 

我想用PHP呼應它,並讓它看起來就像上面那樣。

我開始用這樣的:

echo '<form action='php/zoneNotifUnsub.php' id='zoneNotifUnsub' method='POST'> 
    <?php 
     echo $var; 
    ?> 
</form>'; 

但額外的單引號內都引起了我的問題。我如何獲得字符串打印的準確逐字輸出(以便不分析變量並且不運行代碼)?

回答

1

嘗試逃脫他們

echo '<form action=\'php/zoneNotifUnsub.php\' id=\'zoneNotifUnsub\' method=\'POST\'> 
    <?php 
     echo $var; 
    ?> 
</form>'; 
+0

你會覺得解析錯誤本來指示的問題... – 2011-03-30 23:17:11

3

普通逃逸應該是這樣的:

echo '<form action=\'php/zoneNotifUnsub.php\' id=\'zoneNotifUnsub\' method=\'POST\'> 
    <?php 
     echo $var; 
    ?> 
</form>'; 

逃離'用反斜槓的每一個。總括來說how strings work look in the manual page

你也可以去與HEREDOC Syntax這看起來有點更好:

echo <<<OUT 
<form action='php/zoneNotifUnsub.php' id='zoneNotifUnsub' method='POST'> 
    <?php 
     echo $var; 
    ?> 
</form> 
OUT; 
+0

他顯然在PHP初學者,我覺得扔HEREDOC對他來說有點多,儘管答案是準確的。 – 2011-03-30 23:23:32

+2

+1當你第一次發現它時,HEREDOC很有趣,但在我6年的PHP體驗中,我從未見過/用過它。不爭論,只是談話。但是,我不知道如何提出更多的問題會使你更有能力理解答案。 – 2011-03-30 23:33:14

2

您還可以使用您想呼應的東西雙引號。

所以:'<form action="php/zoneNotifUnsub.php" id="zoneNotifUnsub" method="POST">';等等。

1

使用雙引號可能是在這種情況下一個選項:

echo "<form action='php/zoneNotifUnsub.php' id='zoneNotifUnsub' method='POST'> 
    <?php 
     echo $var; 
    ?> 
</form>";