首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在notepad++中删除除html标签和此HTML标签的内容之外的所有内容?

如何在notepad++中删除除html标签和此HTML标签的内容之外的所有内容?
EN

Stack Overflow用户
提问于 2018-10-11 07:37:34
回答 3查看 620关注 0票数 0

我在Notepad++中打开一个超文本标记语言页面。

html页面有很多东西,但特别是这个标记:

代码语言:javascript
复制
<div id="issue_content">CONTENT</div>

我想从html文件中删除除此标记及其内容之外的所有内容:

代码语言:javascript
复制
<div id="issue_content">CONTENT</div>

文件示例:

代码语言:javascript
复制
<p>ewrfefsd</p>
<div id="issue_content">CONTENT</div>
<p>ewrfefsd</p>
</html>

删除后,文件内容应如下所示:

代码语言:javascript
复制
<div id="issue_content">CONTENT</div>

我尝试使用正则表达式:(<div id=\"issue_content\">)(.*?)(<\/div>)(.*?)

,但此正则表达式仅删除标记<div id="issue_content">CONTENT</div>和此标记的内容

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-10-11 12:47:58

这个正则表达式应该可以执行您想要的操作。确保选中Replace选项卡上的. matches newline框,并将光标定位在文档的开头。

代码语言:javascript
复制
^.*?(<div[^>]*id="issue_content">.*?<\/div>).*$

替换为\1

请注意,只有当您要查找的<div>标记中没有嵌套其他标记时,此代码才会起作用。

票数 1
EN

Stack Overflow用户

发布于 2018-10-11 08:15:34

您可以将正则表达式更改为以下内容:其思想是它匹配所有内容,但创建一个包含所需字符串的Match Group,您可以使用该字符串将所有内容替换为您的Group

下面是正则表达式:

代码语言:javascript
复制
/[\s\S]*?(<div id=\"issue_content\">[^>]+>)[\s\S]+/

它将开始时的所有内容都匹配到字符串,然后使用您的字符串创建一个Group,最后匹配之后的所有内容。

替换时,您将替换为Group 1:

代码语言:javascript
复制
$1

现在你只有你的字符串了。

票数 0
EN

Stack Overflow用户

发布于 2018-10-11 08:25:49

试试这个,其中$str是您的HTML变量。

代码语言:javascript
复制
preg_match('/<div id="issue_content">(.*)<\/div>/i', $str, $matches);

echo $matches[1];
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52750166

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档