簡體   English   中英

在HTML實體中使用href

[英]use a href inside html entities

我使用html entities來保護我的網站。
我的客戶想使用CMS在他的帖子中添加鏈接。
如何在HTML實體中設置例外?

我的代碼示例:

<p><?php echo h($row['message']) ?></p>
//h is my function for htmlentities

我的代碼顯示此消息:

"You can click this link <a href="###">Link</a>"
//And I dont know my data insert '\'
//It become <a href=\"###\">Link</a>

如果我的問題不清楚,請詢問。
萬分感激。

我相信您想要做的是通過htmlentities()傳遞給數據庫,這樣就不會與您的數據庫混淆。 要檢索它們,您可以使用html_entity_decode()。 html_entity_decode()將帶有HTML實體的所有字符串轉換回原始字符串。

http://php.net/manual/zh/function.html-entity-decode.php

希望這能回答您的問題。

編輯:檢索原始數據: http://www.example.com : http://www.example.com

通過htmlentities,它吐出了HTML實體,瀏覽器在嘗試找到該頁面時無法解釋該HTML實體。 htmlentities()的使用(如果我錯了,請糾正我)是在將用戶輸入傳遞到其他任何地方之前對其進行編碼。

用戶輸入: <script>hacks</script>

通過htmlentities傳遞:

&ltscript&gthacks&lt (whatever backslash is)script&gt

(這樣一來,它就不會與數據庫中的任何內容發生混亂,更好的例子是使用PHP / MySQL,但目前我並不精通給出確切的例子。)

但是,這也會在解碼站點時暴露您的站點,因此必須采取其他預防措施。

嘗試這個 :

<?php 
   $link = h(stripslashes($row['message'])); 
?>


You can click this link <a href='<?php echo $link; ?>'>Link</a>

暫無
暫無

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

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