使用javascript裁剪第一个和最后一个标记如果它是相同的标记

时间:2011-01-12 02:36:01

标签: javascript string tags crop

我正在尝试从字符串中删除标记:

"<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.我开始从字符串的末尾求和这些数字,当sum等于零时停止。如果我停止的点是字符串的结尾那么它是一个标签,我需要裁剪它。否则它是不同的标签。 但我不知道如何编码,请帮忙。

2 个答案:

答案 0 :(得分:0)

我知道@drachenstern已发布该评论几乎回答了你的问题,但仍然。您可以在replace()函数旁边使用相当简单的正则表达式。这个小功能应该可以解决问题。

function stripTags(str) {
    return str.replace(/<[^<]+?>/g, '');
}

答案 1 :(得分:0)

我认为我让这项任务太复杂了。我忘记了<p>标记不能出现在另一个<p>中。 然后我可以简单地检查

if ($("#my_div>p").length == 1) {
     // crop surrounding <p>
}

感谢您的回答并对愚蠢的问题感到抱歉,我只需要更多的睡眠。