2009-05-04 97 views

回答

3

怎麼樣的非貪婪版本:

<a class="development" href="(.*?)">X</a> 
+0

你正在做一個可能不會被使用的捕獲。除此之外,使用這個或Gumbo的版本我沒有看到太多的區別。 – kch 2009-05-04 20:08:50

4

試試這個正則表達式:

<a class="development" href="[^"]*">X</a> 
+0

單引號屬性也是有效的html。並根據來源,你甚至可以有無效的HTML,你擰了哪個點。 – kch 2009-05-04 20:02:39

1

正則表達式是通常對於HTML解析來說是一個糟糕的解決方案,每次詢問這樣的問題時都會討論這個話題。例如,元素可以換到另一條線路,無論是作爲

<a class="development" 
    href="[variable content]">X</a> 

<a class="development" href="[variable content]">X 
</a> 

你到底想達到什麼目的?

使用jQuery你可以禁用與鏈接:

$("a.development").onclick = function() { return false; } 

$("a.development").attr("href", "#"); 
+0

此解決方案會假設Itay Moav正在使用jquery庫,並且它是客戶端解析,他希望獲得 – vrish88 2009-05-04 17:19:04

1

這裏有一個版本,可以讓各種惡魔放入href屬性中。

/<a class="development" href=(?:"[^"]*"|'[^']*'|[^\s<>]+)>.*?<\/a>/m 

我也假設X將是可變的,所以我加了一個非貪婪的比賽,要想處理它,並且/m意味着.比賽線路中斷過。