javascript - 在用 jQuery 替换时可以忽略字符串中的 HTML 吗?

标签 javascript jquery replace

<分区>

Possible Duplicate:
Replace words in a string, but ignore HTML

是否可以在调用 Replace 时忽略 HTML 元素?

示例代码:

$myText.replace(new RegExp( $searchString, 'gi' ), 
    '<span class="highlight">'+ $searchString + '</span>');

$myText 是一个大的 HTML 字符串,例如:

var $myText = 
    "<p>Lorem Ipsum is simply dummy text of the printing and typesetting " +
    "industry. Lorem Ipsum has been the industry's standard dummy text " +
    "ever since the 1500s, <img src="something">when an unknown printer " +
    "took a galley of type and scrambled it to make a type specimen book. " +
    "It has survived not only five centuries, " +
    "<a href="#" title="Lorem">but</a> also the leap into electronic " +
    "typesetting, remaining essentially unchanged. It was popularised in " +
    "the 1960s with the release of Letraset sheets containing Lorem Ipsum " +
    "passages, and more recently with desktop publishing software like " +
    "Aldus PageMaker including versions of Lorem Ipsum.</p>"

$searchString 等于用户在文本输入框中键入的任何内容。

如果是,根据上面的示例代码我该怎么做?

最佳答案

是的,看看下面的论坛帖子:

http://forums.asp.net/t/1443955.aspx

您正在寻找的 RegEx 模式类似于以下内容:

"(?<!<[^>]*)Jon Doe(?<![^>]*<)"

基本上,您要搜索并替换括号 <> 之外的任何内容。

JavaScript:

phrase = phrase.replace(/"(?<!<[^>]*)Jon Doe(?<![^>]*<)" /i, "is not");

关于javascript - 在用 jQuery 替换时可以忽略字符串中的 HTML 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2289552/

相关文章:

javascript - 使用 .after() 一个接一个地插入一个元素并不完全有效

javascript - 使用JS确定范围 slider 背景宽度

jquery - 选择父 div 内的元素

在 Vim 中搜索和替换多行并转换为小写

batch-file - 如何搜索并替换内部包含等号 "="的字符串

php - 查找并替换数组中的重复项

javascript - 尝试使用 angularjs 将一个输入的值更新为另一个输入的值

javascript - Polymer 1.0 中父子页面之间的事件处理

asp.net - 使用 javascript 进行回发

javascript - 我如何模拟人为的ajax搜索?