php echo将html输出为文本

15 浏览
0 Comments

php echo将html输出为文本

我正在尝试使用php构建包含onclick="Javascript"的html代码,

但是我一直收到一个错误,说在控制台中缺少},然而事实并非如此。

尽管有错误,但网站显示得很完美。

然后我遵循了这篇帖子

如何回显包含特殊字符的PHP字符串变量?

并使用了htmlentities方法。

起初它似乎工作正常,但我一定改变了什么,因为现在它将html字符串输出为文本而不是显示元素。

这个问题在不同的平台/浏览器上都存在,所以我不认为这是缓存相关的问题。

在php脚本中还有其他正确输出html的元素,只是似乎是这一行有问题。

提前感谢。

 echo htmlentities('

' . $db_field['Title'] . '

');

0
0 Comments

问题的原因是PHP代码中使用了短标签(<?=)输出HTML文本,但在使用短标签时没有正确转义引号。这导致在输出HTML文本时出现了错误。

解决方法是在短标签中正确转义引号。将<a onclick="showAndroidToast('<?=$_SESSION[\'user_id\']?>','<?=$db_field[\'ID\']?>');修改为<a onclick="showAndroidToast('<?=$_SESSION['user_id']?>','<?=$db_field['ID']?>');

需要注意的是,使用短标签的做法不是一个好主意,因为不是所有的网站都支持短标签。从PHP5.4开始,<?=标签无论是否启用了short_open_tag设置都是可用的。

,问题的原因是在PHP代码中使用了短标签输出HTML文本时没有正确转义引号,解决方法是在短标签中正确转义引号。建议避免使用短标签,因为不是所有的网站都支持短标签。从PHP5.4开始,<?=标签无论是否启用了short_open_tag设置都是可用的。

0
0 Comments

问题:

在使用htmlentities()函数时,输出的内容会被翻译成浏览器可以解释为文字符号来显示的字符。这样可以告诉浏览器显示HTML和代码而不实际解释它。它还允许我们显示不希望浏览器意外解析的符号。如果您有一个包含HTML的字符串,希望浏览器来解释它,请不要使用htmlentities()

原因:

htmlentities()函数会将HTML代码中的特殊字符转换为实体编码,以防止其被浏览器解析为HTML标签。但是,如果您希望浏览器能够正确解释HTML代码并将其作为HTML标签显示,使用htmlentities()函数会导致HTML代码被转义为实体编码,从而无法正确解析。

解决方法:

为了正确显示HTML代码并被浏览器解析,应避免使用htmlentities()函数。相反,可以直接将HTML代码作为字符串输出,同时对其中的特殊字符进行转义,例如使用htmlentities()函数对特殊字符进行转义,然后将转义后的字符串与HTML标签进行拼接输出。

以下是正确的示例代码:

print '<h1>' . htmlentities("I have a < and > sign I don't want interpreted") . '</h1>';

更多详情请参阅文档:http://php.net/manual/en/function.htmlentities.php

0
0 Comments

问题的原因是在使用htmlentities()函数时,它会将字符串中的特殊字符<>转换为实体,导致它们以文本形式显示,而不是被解释为HTML标签。解决方法是只对不希望被解释的变量调用htmlentities()函数。以下是解决方法的示例代码:

echo '

' . htmlentities($db_field['Title']) . '

';

通过只对需要的变量调用htmlentities()函数,可以确保HTML标签被正确解释,并且特殊字符不会被转换为实体。这样输出的内容将会以HTML形式显示。

0