作者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/m.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