我得到了一些html文本,其中包含各种html标签,例如<table>, <a>, <img>,等等.
现在我想用正则表达式来删除所有的HTML标签,除了<img ...>和</img>(和大写<IMG></IMG>).
这该怎么做?
更新:
我的任务很简单,它只是在首页打印html的文本内容(包括图像)作为摘要,所以我觉得正则表达式很好而且很简单.
再次更新
也许一个样本会让我的问题更好理解:)
有一些HTML文字:
<html>
<head></head>
<body>
Hello, everyone. Here is my photo: <img src="xxx.jpg" />.
And, <a href="xxx">know more</a> about me!
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我想保留,并删除其他标签.以下是我想要的:
Hello, everyone. Here is my photo: <img src="xxx.jpg" />. And, know more about me!
Run Code Online (Sandbox Code Playgroud)
现在我的代码如下:
html.replaceAll("<.*?>", "")
Run Code Online (Sandbox Code Playgroud)
但它会删除所有的内容<和>,但我想保持<img xxx>和</img>,并删除之间的其他内容< and >
谢谢大家!
Fre*_*ind 10
我尝试了很多,这个正则表达式似乎对我有用:
(?i)<(?!img|/img).*?>
Run Code Online (Sandbox Code Playgroud)
我的代码是:
html.replaceAll('(?i)<(?!img|/img).*?>', '');
Run Code Online (Sandbox Code Playgroud)
不要使用 RegEx 来解析 HTML。有关原因的引人注目的演示,请参见此处。
为您的语言/平台使用 HTML 解析器。
| 归档时间: |
|
| 查看次数: |
9593 次 |
| 最近记录: |