jquery与php的HTML转义与反转义

Posted 逆水行舟,不进则退

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 ,否则可能乱码

 

以上是关于jquery与php的HTML转义与反转义的主要内容,如果未能解决你的问题,请参考以下文章

StringEscapeUtils类的转义与反转义方法

利用StringEscapeUtils对字符串进行各种转义与反转义(Java)

js转义和反转义html

html转义/反转义

JS实现HTML标签转义及反转义

StringEscapeUtils类