引用HTML输入标记中的不匹配

时间:2013-07-25 09:12:28

标签: php javascript html

<?php $lngtxtQuestionDirection = "In each one of the following questions, 'there' are two statements, viz 1 and 2. These "statements" are followed by two conclusions (i) and (ii). Apply the conclusions to the questions and tick mark the right choice." ?>

<input type="hidden" id="question" value='<?php echo stripslashes($lngtxtQuestionDirection)?> '/>

当我使用javascript显示隐藏标签时,会显示以下输出:

In each one of the following questions, 

不显示单引号后的文本。我希望显示整个段落。

2 个答案:

答案 0 :(得分:2)

你不应该得到这种行为。您的字符串文字语法是无效的PHP(因为您的PHP字符串文字用"个字符分隔,其中包含未转义的"个字符。)。您输入任何HTML之前,您所拥有的代码应该抛出一个解析错误。

  

解析错误:在第1行解析错误

为了获得您声称自己拥有的行为,您需要通过在"前添加前缀来转义字符串中的\个字符(并且您必须手动执行此操作,不是以编程方式,因为您自己编写PHP而不是从其他代码生成它。)

这会给你说你得到的(仍然不正确的)行为。要解决此问题,您需要htmlspecialchars($lngtxtQuestionDirection , ENT_QUOTES),而不是stripslashes

答案 1 :(得分:-1)

使用\取消引用引号。除非您取消引用它们,否则在外部引号相同时,不能在内部使用双引号。