所以我想出了替换函数,找到所有单字母“单词”(介词和连词等)并用
替换它们之后的空格以防止将这些字符留在最后线,应该像
myString.replace(/\s\w(?=\s)/,"$1 ")
现在如何将其应用于网页上的所有文字?我正在寻找一些通用解决方案,这是一个简单的函数,我放入<head>
而无需更改网页中的任何其他内容。
非常感谢你。
答案 0 :(得分:3)
$('body').contents().filter(function(){
return this.nodeType == 3;
}).each(function(){
this.nodeValue = this.nodeValue.replace(/\s\w(?=\s)/,"$1 ");
});
基本上我们抓住body元素并获取其内容 - contents()
方法将获取文本节点以及我们想要的元素。然后我们过滤nodeType,将集合减少到只有文本节点。然后我们做正则表达式替换。
答案 1 :(得分:2)
function replaceText(node)
{
var current = node.nodeValue;
var replaced = current.replace(searchpattern, replacepattern);
node.nodeValue = replaced;
}
function traverse(node)
{
var children = node.childNodes;
var childLen = children.length;
for(var i = 0; i < childLen; i++)
{
var child = children.item(i);
if(child.nodeType == 3)//or if(child instanceof Text)
replaceText(child);
else
traverse(child);
}
}
function replaceAll()
{
traverse(document.body);
}
从正文replaceAll()
致电onload
。
<body onload="replaceAll()">
答案 2 :(得分:2)
var str = 'When you want to change the DispFormUrl'.replace(/ /g, ' ');
alert(str);
结果:“当您想要更改DispFormUrl”时