簡體   English   中英

如何使用不帶引號的 php echo 來回顯 html 代碼?

[英]How to use php echo without quotes to echo html code?

我正在嘗試打印出一些未存儲為簡單字符串的 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;

顯示為:<h1 class="ql-align-center">TEST</h1>

......現在我們需要解碼把它變成將顯示在頁面中的H1標簽的HTML元素:

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

顯示為:測試

代碼:為此,您需要調用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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM