Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript regexjquery:查找大写字母并忽略html标记_Javascript_Jquery_Html_Regex - Fatal编程技术网

Javascript regexjquery:查找大写字母并忽略html标记

Javascript regexjquery:查找大写字母并忽略html标记,javascript,jquery,html,regex,Javascript,Jquery,Html,Regex,我想将所有大写字母和撇号作为html字符串的目标,并省略所有html标记。事实上,两个椽子之间的内容定位是不可取的,因为它会导致bug 要处理的字符串示例: 例1: 测试带有跨度和更多文本的落差上限(&a) 例2: 测试带a的跌落盖,仅此而已 预期产出为: 例1: 测试带有跨度和更多文本的落差上限(&a) 例2: 测试带a的跌落盖,仅此而已 现在我要做的是: (函数($){ $.fn.letter=函数(){ $(':标题,图例,.h1,.h2,.h3,.h4,.h5,.h6,.a

我想将所有大写字母和撇号作为html字符串的目标,并省略所有html标记。事实上,两个椽子之间的内容定位是不可取的,因为它会导致bug

要处理的字符串示例:

例1:

测试带有跨度和更多文本的落差上限(&a)
例2:

测试带a的跌落盖,仅此而已
预期产出为:

例1:

测试带有跨度和更多文本的落差上限(&a)
例2:

测试带a的跌落盖,仅此而已
现在我要做的是:

(函数($){
$.fn.letter=函数(){
$(':标题,图例,.h1,.h2,.h3,.h4,.h5,.h6,.addletter')。每个(函数(){
var string=$(这个);
var newString=string.html();
html(newString);
});
};
$('.letter').letter();
})(jQuery);

但是我的正则表达式并不完美:它还针对两个标记之间的内容。你能帮我制作一个更好的正则表达式吗?谢谢。

你可以使用这个基于负前瞻的正则表达式

string.replace(/([A-Z])(?![^<>]*>)/g, '<span class="letter">$1</span>');
string.replace(/([A-Z])(?![^]*>)/g,$1');

var s='Test Drop Cap with a&a Span and more text';

alert(s.replace(/([A-Z])(?![^]*>)/g,$1')
@Avinash Raj:谢谢你的澄清请求。我刚刚更新了我的帖子。谢谢。这正是我想要的解决方案!不客气。如果你发布预期的输出,你应该在发布前20分钟获得sol。
Test Drop Cap with a <a href="https://github.com/Scriptura/Scriptura">Link</a> and that's it
<span class="letter">T</span>est <span class="letter">D</span>rop <span class="letter">C</span>ap with a <a href="https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Using_data_attributes">Link</a> & a <span style="color:#777"><span class="letter">S</span>pan</span> and more text<a href="#index-anchor" class="anchor"></a>
string.replace(/([A-Z])(?![^<>]*>)/g, '<span class="letter">$1</span>');