如何不显示/过滤掉特殊字符? (CSS 或 Javascript)

How not to display / filter out special characters? (CSS or Javascript)

我正在从 JSON 文件中获取 HTML 内容。 JSON 文件 returns 属性 namedescription.

name 是干净的数据,如 "Cheese burger"。但是 description 看起来像这样 ["Mozarella","Pepperoni","Cheese","Beef","Ketchup"]

是否可以告诉CSS不显示特殊字符:[

是否可以过滤掉javascript / AngularJS的特殊字符?

您无法在 CSS 中隐藏特殊字符。使用 javascript,您可以使用像这样的库:https://github.com/andrewrk/node-diacritics 从您的文本中删除所有特殊字符。

我相信这不能用纯粹的 CSS 来完成 - 即使它可以也是不好的做法。 CSS是关于外表的。你需要一些逻辑。

所以 javascript 是必经之路。而我的意见是不要使用任何自定义库,就像前面的答案中提到的那样,而是花一些时间研究regular expressions。您最终会发现它们非常有用。您需要一个相当简单的方法来删除 ]",

您可以将 replace() 与正则表达式一起使用,逐个替换特殊字符:

var descriptionString = '["Mozarella","Pepperoni","Cheese","Beef","Ketchup"]';

var cleanBracketsLeft = descriptionString.replace(/\[/g, '');
var cleanBracketsRight = cleanBracketsLeft.replace(/\]/g, '');
var cleanQuotes = cleanBracketsRight.replace(/\"/g, '');
var cleanComma = cleanQuotes.replace(/\,/g, ' ');

console.log(cleanComma);
//Result Mozarella Pepperoni Cheese Beef Ketchup

live exemple

另见 Regular Expression tutorial