PHP JS uri互转 富文本标签处理 base64 互转

发布于:2022-12-07 ⋅ 阅读:(563) ⋅ 点赞:(0)

问题一:前端富文本输入时带有<p> </p><br/>相关时需要转义传入后端

前端:

var data = "<p>你好啊</p>";
data = encodeURI(data);//encodeURI() 函数可把字符串作为 URI 进行编码。
//(decodeURI() 函数可对 encodeURI() 函数编码过的 URI 进行解码。)
//可以的话尽量使用encodeURIComponent,uncodeURIComponent
//自己使用ajax提交到后端

//encodeURI()和uncodeURIComponent区别

https://blog.csdn.net/baidu_33438652/article/details/89708775

PHP:

//($data = $_POST["data"];//接收前端传入的转义data)
$data = urldecode($data);//解义
//( echo $data; //你会发现只输出 你好啊 p标签消失,这是因为浏览器将php的输出当html结构处理了这和我们以前echo "<div>标题一<div>"浏览器只会显示占一行的标题是一个道理,但是对于PHP和mysql来讲你的内容只是字符串"<p>你好啊</p>"; )
//(与urldecode()对应,urlencode()可以转义);

base64的方法
前端:

var string = "<p>你好啊</p>";
string = btoa(encodeURI(string));//注意中文时必须要加encodeURI(string),其中btoa是window上的方法直接调用,但是有些端没有btoa,例如小程序就需要另外想办法了
//自己使用ajax提交到后端
//( decodeURI(atob(string)) //解义 )

PHP:

//$string = $_POST["string"];//接收前端传入的转义string)
$string = base64_decode($string);//上面js转义后提交给后端,我在这儿解义,先解base64,再解uri
$string = urldecode($string);
本文含有隐藏内容,请 开通VIP 后查看