我有一个网站,我想使用jQuery删除一些内容。

我想在我的内容中找到带有此开头符号[和结束符号]的所有内容,并删除它们两者,包括它们之间的内容。

需要明确的是,这实际上是WordPress的一种Shortcode格式。其中一些例子包括


[cudazi_column width ='6'class ='alpha']
[cudazi_column_end]
[cudazi_column width ='6'class ='omega']
[cudazi_slider slide_delay =“ 4000” slide_effect =“ slide” Categories =“ home”]


我希望能够使用jQuery从内容中删除这些内容

谁能指出我正确的方向?

我过去曾将此脚本用于另一个项目,并且想知道如果我能够获得正确的正则表达式是否可以再次使用它

$(".content").html(function(i,o){
  return o.replace( /@[0-9:\s]+(am|pm)/ig, '' );
});

最佳答案

由于[]习惯了正则表达式中的字符范围(例如:[a-z]用于所有小写字符)
您需要像这样引用它们:

\[


开头和结尾方括号均:

\[ \]


在它们之间,您要匹配所有非右尖括号的内容:

[^\]]*



表示一次或多次。如果您想保留[],则可以使用+代替*


因此,开始/结束匹配之间的后面中间部分最终显示为:

\[[^\]]*\]


当然,您需要/围绕它们:

/\[[^\]]*\]/


结果是:

$(".content").html(function(i,o){
  return o.replace(/\[[^\]]*\]//ig, '' );
});

10-07 19:56
查看更多