[英]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”的數據庫值,必須在打印之前進行編碼
&lt;h1 class=&quot;ql-align-center&quot;&gt;TEST&lt;/h1&gt;
上面用於編碼的php代碼的輸出是
<h1 class="ql-align-center">TEST</h1>
但因為我使用 echo 打印.... php 用引號包裹它, <h1>
標簽變成純文本而不是 html 元素
我不知道引號來自哪里 - 您問題中的代碼沒有添加額外的引號,因此它們來自其他地方。
但是,如果您希望將 HTML 字符串呈現為 HTML,而不是將標簽顯示為文本,您可以執行以下操作:
從變量中的這個值開始:
&lt;h1 class=&quot;ql-align-center&quot;&gt;TEST&lt;/h1&gt;
顯示為:<h1 class="ql-align-center">TEST</h1>
...您可以使用html_entity_decode
進行解碼,這將為我們提供以下輸出,即將其轉換為一個字符串,當您回顯它時將顯示為純文本 HTML:
<h1 class="ql-align-center">TEST</h1>
顯示為:<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.