如何在记事本++中删除除html标记和此html标记内容以外的所有内容?
我用记事本++打开一个HTML页面 html页面有很多东西,尤其是这个标签:如何在记事本++中删除除html标记和此html标记内容以外的所有内容?,html,notepad++,Html,Notepad++,我用记事本++打开一个HTML页面 html页面有很多东西,尤其是这个标签: <div id="issue_content">CONTENT</div> 我想删除html文件中的所有内容,除了 此标签及其内容: <div id="issue_content">CONTENT</div> 文件示例: <p>ewrfefsd</p> <div id="issue_content">CONTENT</div&
<div id="issue_content">CONTENT</div>
我想删除html文件中的所有内容,除了
此标签及其内容:
<div id="issue_content">CONTENT</div>
文件示例:
<p>ewrfefsd</p>
<div id="issue_content">CONTENT</div>
<p>ewrfefsd</p>
</html>
删除后,文件内容应如下所示:
<div id="issue_content">CONTENT</div>
我尝试使用正则表达式:
.*?.*?
,
但是此正则表达式仅删除标记内容和此标记的内容。您可以将正则表达式更改为以下内容:其思想是它匹配所有内容,但创建一个匹配组,其中包含所需字符串,您可以使用该组替换所有内容: 这是正则表达式:
/[\s\S]*?(<div id=\"issue_content\">[^>]+>)[\s\S]+/
现在您只有字符串。试试这个,其中$str是您的HTML内容变量
preg_match('/<div id="issue_content">(.*)<\/div>/i', $str, $matches);
echo $matches[1];
这个正则表达式应该做你想做的事情。你一定要检查一下房间。匹配“替换”选项卡上的换行符框,并将光标定位在文档的开头
^.*?(<div[^>]*id="issue_content">.*?<\/div>).*$
替换为\1
请注意,只有在您要查找的标记中没有嵌套其他标记时,此代码才会起作用。既然您只对这些内容感兴趣,为什么不使用这些内容创建一个新字符串呢?你已经有了匹配值。我需要删除3000个html文件中不必要的内容。不同内容标记中的内容不同/[\s\s]*?[^>]+>[\s\s]+/-不工作@alexbever:删除分隔符
^.*?(<div[^>]*id="issue_content">.*?<\/div>).*$