如何使用不带引号的php echo回显html代码?

问题描述

我正在尝试打印一些未存储为简单字符串的html代码,因此我需要在回显之前对其进行解码,我的问题是当我回显已解码的值时,我不断得到这些引号,并且它们是破坏了输出,这就是它的样子:

<div>
"<h1 class="ql-align-center">TEST</h1>"
</div>  

因此,由于这些引号,“ h1无法形成,它以文本而不是html代码的形式打印出来。 所以我想知道是否可以打印为html代码,这意味着没有引号“”?

这是它像这样生成的php代码

<?php echo html_entity_decode($singleEmail['camp_desc'],ENT_NOQUOTES,'UTF-8'); ?>

这也是'camp_desc'的数据库值,在打印之前必须对其进行编码

&amp;lt;h1 class=&amp;quot;ql-align-center&amp;quot;&amp;gt;TEST&amp;lt;/h1&amp;gt;

,上面用于编码的php代码的输出是

<h1 class="ql-align-center">TEST</h1> 

但是由于我正在使用echo打印。...php用引号将其包裹起来,<h1>标签变成纯文本而不是html元素

解决方法

我不知道引号来自何处-您在问题中使用的代码不会添加额外的引号,因此它们来自其他地方。

但是,如果希望将HTML字符串呈现为HTML而不是将标记显示为文本,则可以执行以下操作:

从变量中的该值开始:

&amp;lt;h1 class=&amp;quot;ql-align-center&amp;quot;&amp;gt;TEST&amp;lt;/h1&amp;gt;

显示为:&lt; h1 class =“ ql-align-center”&gt; TEST&lt; / h1&gt;

......您可以使用html_entity_decode对其进行解码,这将为我们提供以下输出,即,它将其转换为一个字符串,当您回显它时将以纯文本HTML形式显示:

&lt;h1 class=&quot;ql-align-center&quot;&gt;TEST&lt;/h1&gt;

显示为:

测试

...现在,我们需要对 this 进行解码,以将其转换为将在页面中以H1标签显示的HTML元素:

<h1 class="ql-align-center">TEST</h1>

显示为:TEST

代码:为此,您需要调用html_entity_decode 两次,然后它将字符串显示为HTML元素:

<?php  
$htmlstr = html_entity_decode($singleEmail['camp_desc'],ENT_QUOTES,'UTF-8');
echo html_entity_decode($htmlstr,ENT_NOQUOTES,'UTF-8');  
?>
,

如果在回显时尝试替换这些引号怎么办?

就像您创建正则表达式来替换它一样,或者您创建了一个函数来替换想要的两个部分,例如str_replace('”<','<',$yourDecodedHtml)str_replace('>”','>',$yourDecodedHtml)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...