jquery与php的HTML转义与反转义

1.jquery

(1)Html转义

    var tmp = '<a href="https://www.baidu.com/">连接</a>';
    var tmp_rev = $('<div>').text(tmp).html();
    console.log(tmp_rev);

结果:

  &lt;a href="https://www.baidu.com/"&gt;连接&lt;/a&gt;

(2)Html反转义

    var tmp = '<a href="https://www.baidu.com/">连接</a>';
    var tmp_rev = $('<div>').text(tmp).html();
    var tmp_rev_rev = $('<div>').html(tmp_rev).text();
    console.log(tmp_rev_rev);

结果 :

  <a href="https://www.baidu.com/">连接</a>

2.php

(1)转义

htmlentities() 把字符转换为 HTML 实体

htmlspecialchars() 把预定义的字符转换为 HTML 实体 

预定义的字符是:

  • & (和号)成为 &
  • " (双引号)成为 "
  • ' (单引号)成为 '
  • < (小于)成为 <
  • > (大于)成为 >

(2)反转义

html_entity_decode() 把 HTML 实体转换为字符

htmlspecialchars_decode() 把预定义的 HTML 实体转换为字符

$tmp = '<a href="https://www.baidu.com/">连接</a>';
$tmp_rev = htmlentities($tmp);
$tmp_rev_rev = html_entity_decode($tmp_rev);
var_dump($tmp);
var_dump($tmp_rev);
var_dump($tmp_rev_rev);

$tmp = '<a href="https://www.baidu.com/">连接</a>';
$tmp_rev = htmlspecialchars($tmp);
$tmp_rev_rev = htmlspecialchars_decode($tmp_rev);
var_dump($tmp);
var_dump($tmp_rev);
var_dump($tmp_rev_rev);

结果:

  

注:

  有中文的时候,最好用 htmlspecialchars ,否则可能乱码

 

posted @ 2018-04-10 13:30  慕尘  阅读(482)  评论(0编辑  收藏  举报