2011-03-30 135 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>";