最近在处理一个文本数据,需要通过api返回给前端,但是前端解析不了,后面发现时含有乱码,浏览器无法渲染(为不可见字符),正则匹配可以s匹配到,但是会误伤其他不可见字符,下面是几种不同的编辑器的渲染效果
vscode
pages
https://regexr.com/
浏览器调试工具
以下是原文,哪个知道如何匹配或者去除
我只是测试一下;
git init;
git add :
.
最近在处理一个文本数据,需要通过api返回给前端,但是前端解析不了,后面发现时含有乱码,浏览器无法渲染(为不可见字符),正则匹配可以s匹配到,但是会误伤其他不可见字符,下面是几种不同的编辑器的渲染效果
以下是原文,哪个知道如何匹配或者去除
我只是测试一下;
git init;
git add :
.
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
直接用字符串替换就好了。
我的代码:(a前面有你那个错误的编码,当然浏览器应该是看不到的)
1 <?php
2 $a = ' a';
3 $json = json_encode($a);
4 var_dump($a);
5 var_dump($json);
6 var_dump(str_replace(' ','', $a));
输出:
string(4) " a"
string(9) ""u2028a""
string(1) "a"
可以看到那个奇怪的编码被json_encode成了u2028,其实那个奇怪的符号是占了3个字节的,可以看到第一个输出的string长度是4,替换后长度变成了1