[問題] 請問如何判斷一字串中是否含有不包含<img>元素的HTML元素?

看板Ajax作者 (香蕉共和國)時間10年前 (2015/05/15 23:35), 10年前編輯推噓1(1011)
留言12則, 7人參與, 最新討論串1/1
如題,這問題應該要使用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://www.ptt.cc/bbs/Ajax/M.1431704120.A.325.htmlbanana2014:轉錄至看板 RegExp 05/15 23:38

05/15 23:58, , 1F
regex啊 既然都是JS了 比起regex 直接轉成DOM判斷
05/15 23:58, 1F

05/15 23:58, , 2F
應該比較間單吧
05/15 23:58, 2F

05/16 00:47, , 3F
轉成元素用querySelector看看有沒有阿
05/16 00:47, 3F

05/16 00:48, , 4F
"不要用regex判斷html"這是基本常識說...
05/16 00:48, 4F

05/16 16:46, , 5F
我猜你要的應該是 <a>標籤 而不是html標籤 是嗎?
05/16 16:46, 5F

05/16 16:56, , 6F

05/16 16:57, , 7F
請問你要的是這種嗎?
05/16 16:57, 7F
嗯…不是的,我是說「字串」裡頭 舉例來說,變數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

05/16 23:33, , 8F
05/16 23:33, 8F

05/17 14:37, , 9F
那就是regex了,只有這樣比較快
05/17 14:37, 9F

05/17 19:21, , 10F
<(_ _)> 算 html tag 嗎, 用regexp你可能要做很非常事情
05/17 19:21, 10F

05/17 19:22, , 11F
非常多事情
05/17 19:22, 11F

05/17 20:48, , 12F
這就是我想要的了 謝謝你們
05/17 20:48, 12F
文章代碼(AID): #1LLX8uCb (Ajax)
文章代碼(AID): #1LLX8uCb (Ajax)