如何使用jQuery在HTML或XML文档中的两个标签之间查找和替换文本?

Gan*_*alf 8 html javascript regex jquery

我想找到并替换HTML文档中的文本,比如在<title>标记内.例如,

var str = "<html><head><title>Just a title</title></head><body>Do nothing</body></html>";
var newTitle = "Updated title information";
Run Code Online (Sandbox Code Playgroud)

我尝试在jQuery中使用parseXML()(下面的示例),但它不起作用:

var doc= $($.parseXML(str));
doc.find('title').text(newTitle);
str=doc.text();
Run Code Online (Sandbox Code Playgroud)

是否有不同的方法来查找和替换HTML标记内的文本?正则表达式或可能正在使用replaceWith()或类似的东西?

Jam*_*uld 18

我今天早些时候使用正则表达式在一个问题中做了类似的事情:

str = str.replace(/<title>[\s\S]*?<\/title>/, '<title>' + newTitle + '<\/title>');
Run Code Online (Sandbox Code Playgroud)

那应该找到并替换它.[\s\S]*?意味着[任何字符包括空格和换行符]任意次,并且?使星号"不贪婪",所以当它找到时它会停止(更快)</title>.