2013-05-27 47 views
1

我有串这样的:如何使用jQuery从字符串中提取图像标记?

var p = '<img src="/quizs-schol/headimages/4194.png?id=51a2f7aec61ac" style="height:30px; width:40px;"> Online free quiz'; 

我需要提取此:

<img src="/quizs-schol/headimages/4194.png?id=51a2f7aec61ac" style="height:30px; width:40px;"> 

我会如何实现这一目标?

+0

我明白问题,需要编码。 – elclanrs

+0

你将如何处理提取的字符串? –

回答

0

在这个特定的字符串,你可以这样做:

var extracted = p.match(/<[^>]+>/)[0] 

但在更一般的情况下,正则表达式快速呈现非常有限的处理HTML。

+0

@bhupendra嗨,但它是从图像提取两次更多时间 – bhupendra

5

尝试此正则表达式:

<[^>]+> 

和示例代码:

match = inputString.match(/<[^>]+>/); 
if (match != null) { 
    matchedText = match[0]; 
} else { 
    // Match attempt failed 
} 

解释:

[abc]字符组的任何单个字符匹配的组内,这将匹配一个a,bc
[^abc]当字符组中的第一个符号是^时,它被否定。这将匹配除a,bc以外的任何字符

+0

@bhupendra谢谢 – bhupendra

+0

酷!真正短的正则表达式=) –

0

我总是使用jQuery来做到这一点。这很简单。

var str = '<img src="/quizs-schol/headimages/4194.png?id=51a2f7aec61ac" style="height:30px; width:40px;"> Online free quiz'; 
var imgs = $("<div>" +str +"</div>").find("img"); 
+2

'$(str).filter('img')':) –

相关问题