gpt4 book ai didi

JavaScript:在 XMLSerializer 错误解析实体后,用 html 160 实体替换三个空格

转载 作者:行者123 更新时间:2023-11-28 16:15:16 24 4
gpt4 key购买 nike

我正在尝试做这样的事情......

f = f.replace('   ','   ','gi');

我也尝试过这个...

f = f.replace(/\ {3,}/g,'   ','gi');

如何用上面的实体替换三个空格?

使用 \s 不起作用,我在 Stack 上进行了大量其他问答,但没有任何效果。

澄清一下,这个问题源于除序列化之外的 XMLSerializer() 解析,并且空格位于每个句子的开头。我用它来使代码在编辑时易于阅读。

XHTML 编辑器中的示例占位符文本(只是一个文本区域)...

 <p>1
&#160; 2
&#160; 3
&#160; 4
&#160; 5</p>

...目标是序列化此代码并保留实体(序列化不应解析,但所有浏览器都会解析)或通过替换后效应来“解析”。

此外,变量 f 是一个字符串,而不是示例中的对象或片段。

重要!

使用encodeURI后发现这些不是由XMLSerializer()生成的空格,(添加空格是为了使其更具可读性)%0A %20 %C2 %A0 %C2 %A0

<小时/>

这里有几个例子,展示了使用encodeURI确定字符之前和之后的文本样子,因为它们与空格不匹配,从而让那些试图提供帮助的人望而却步......

%0A%20&#160;&#160;First%20and

&#160;&#160;First and

第一个插入了两个实体,不需要,我只需要一个。

&#160; Which is actually

%0A%20&#160;%20Which%20is%20actually

第二个输出使用 @Bergi 的以下内容效果很好......

f = f.replace(/\u00a0/g, '&#160;')
<小时/>

以下是不成功的尝试,最后一次是成功的尝试...

//f = f.replace(/^\s+|\s+$/g,'');
//f = f.replace(' ',' &#160; ','gi');
//f = f.replace( / {3,}/g, '&#160;' );
//f = f.replace(/ {3,}/g,' \u00a0 ');
//f = f.replace(/\ {3,}/g,' &#160; ');
f = f.replace(/ \u00a0/g, ' &#160;');

最佳答案

var f = "Hello      World";
f = f.replace( / {3,}/g, '&#160;' );
console.log(f);
// "Hello&#160;World"

听起来你的问题与字符串替换无关,而是与你如何使用它来修改你的 HTML 有关。你为此做什么?

编辑:如果您希望用户在浏览器中实际看到  ,那么您需要:

f = f.replace( /\s+{3,}/g, '&amp;#160;' );

演示:http://jsfiddle.net/wrMMy/

关于JavaScript:在 XMLSerializer 错误解析实体后,用 html 160 实体替换三个空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11694826/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com