如果标签相同,则使用 javascript 裁剪第一个和最后一个标签
Posted
技术标签:
【中文标题】如果标签相同,则使用 javascript 裁剪第一个和最后一个标签【英文标题】:Crop first and last tag with javascript IF it's the same tag 【发布时间】:2011-01-12 02:36:01 【问题描述】:我正在尝试从字符串中删除标签:
"<p>string</p>" must be converted to "string"
我找到了简单地裁剪第一个和最后一个标签或所有标签然后
的解决方案"<p>string1</p><p>string2</p>" converts to "string1</p><p>string2"
我想检查字符串,比如
"IF last </p> tag is closing tag for first <p> tag THEN crop"
这可能与正则表达式有关吗?
如果不是,我认为公式必须类似于:<p> tags equals 1, </p> equals -1.
我从字符串末尾开始对这些数字求和,并在总和为零时停止。如果我停止的点是字符串的结尾,那么它是一个标签,我需要裁剪它。否则它是不同的标签。
但我不知道如何编码,请帮助。
【问题讨论】:
嗨@Ink,欢迎来到该网站。可悲的是,您要问的是我们最受欢迎的问题之一。 ***.com/questions/1732348/… ... 遗憾的是,本网站的本质是关闭重复的问题,这些问题确实可以由其他更成熟的问题来回答,但最好的答案是“使用图书馆”。在这种情况下,我会推荐 jQuery。它会以多种方式满足您的需求,例如 api.jquery.com/unwrap 谢谢,我会尝试用jQuery做一些检查和替换功能。 【参考方案1】:我知道@drachenstern 已经发布了该评论,几乎回答了您的问题,但仍然如此。您可以在 replace()
函数旁边使用一个相当简单的正则表达式。这个小功能应该可以解决问题。
function stripTags(str)
return str.replace(/<[^<]+?>/g, '');
【讨论】:
我不需要剥离所有标签,只需要一个且仅当第一个和最后一个标签是一个标签的开始和结束部分。【参考方案2】:我觉得我把这个任务弄得太复杂了。我忘了<p>
标签不能在另一个<p>
中。
然后我可以简单地做检查
if ($("#my_div>p").length == 1)
// crop surrounding <p>
感谢您的回答,对愚蠢的问题感到抱歉,我只是需要更多的睡眠。
【讨论】:
以上是关于如果标签相同,则使用 javascript 裁剪第一个和最后一个标签的主要内容,如果未能解决你的问题,请参考以下文章