作者banana2014 (香蕉共和国)
看板Ajax
标题[问题] 请问如何判断一字串中是否含有不包含<img>元素的HTML元素?
时间Fri May 15 23:35:17 2015
如题,这问题应该要使用RegExp。
举例:
Case 1:
String: "abc<a href='
http://example.com'>Link</a>defg"
Return: True
Case 2:
String: "abc<img src='example.jpg'>defg"
Return: False
Case 3:
String: "abc<a href='
http://example.com'>Link</a>de<div>kkk</div>fg<img src='example.jpg'>"
Return: True
Case 4:
String: "abcdefg"
Return: False
Case 5:
String: "abc<img src='example.jpg'>defg<img src='example.jpg'><img src='example.jpg' width=25 height=25>"
Return: False
总而言之,只要字串里头含有HTML标签(但不包含<img>标签),则回传True;否则回传False
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 219.80.138.50
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Ajax/M.1431704120.A.325.html
※ banana2014:转录至看板 RegExp 05/15 23:38
1F:→ danny8376: regex啊 既然都是JS了 比起regex 直接转成DOM判断 05/15 23:58
2F:→ danny8376: 应该比较间单吧 05/15 23:58
3F:→ mmis1000: 转成元素用querySelector看看有没有阿 05/16 00:47
4F:→ mmis1000: "不要用regex判断html"这是基本常识说... 05/16 00:48
5F:→ GoalBased: 我猜你要的应该是 <a>标签 而不是html标签 是吗? 05/16 16:46
7F:→ KawasumiMai: 请问你要的是这种吗? 05/16 16:57
嗯…不是的,我是说「字串」里头
举例来说,变数str为一字串,假设str="<a href='
http://example.com/'>kkk</a>",今
天假设一函数g,必须输入参数str,函数g是判断字串是否含有HTML标签,若有则传回true
,没有则传回false,其中有没有<img>标签都无所谓,亦即<img>标签视为一般字符,而非
我所说的“HTML标签”。那麽上述假设的str字串经函数g所回传的结果为true,因为其含
有我所说的“HTML标签”。那麽当str="<img src='a.jpg'>"呢? 函数g传回false。为什麽
呢? <img>不也是HTML标签吗? 因为这里的<img>不是我定义的“HTML标签”,所以为false。
那麽若str字串里头同时含有<img>标签和其他的HTML标签呢? 则传回true。
**
反正只要字串里含有<img>以外的HTML标签,则传回true,否则传回false。 **
就这样
※ 编辑: banana2014 (27.247.151.210), 05/16/2015 20:32:18
9F:→ KawasumiMai: 那就是regex了,只有这样比较快 05/17 14:37
10F:→ scars: <(_ _)> 算 html tag 吗, 用regexp你可能要做很非常事情 05/17 19:21
11F:→ scars: 非常多事情 05/17 19:22
12F:→ banana2014: 这就是我想要的了 谢谢你们 05/17 20:48