我正在做的表格让我的用户发送包含图片链接的html代码。像这样:
<a href="http://linklocation.com" target="_blank"><img src="http://imagelocation.com" border="0"></a>
<a href="http://linklocation.com" target="_blank"><img src="http://imagelocation.com" border="0"></a>
<a href="http://linklocation.com" target="_blank"><img src="http://imagelocation.com" border="0"></a>
<a href="http://linklocation.com" target="_blank"><img src="http://imagelocation.com" border="0"></a>
<a href="http://linklocation.com" target="_blank"><img src="http://imagelocation.com" border="0" width="100px" height="100px"></a> <br>
现在,我正在尝试使用RegEx仅选择a
和img
个HTML标记,其中img可以是<img />
,<img>
</img>
或{{ 1}}。我现在还没有宽度,高度或其他设置,但它们也应该与RegEx一起出现。如果还有其他HTML标记,则不应该使用RegEx。
基本上如果有这样的HTML代码:
<img>
RegEx应该返回这些:
<a href="http://linklocation.com" target="_blank"><img src="http://imagelocation.com" border="0"></a>
<a href="http://linklocation.com" target="_blank"><p>Hello world!</p></a> <script>Something</script>
<a href="http://linklocation2.com" target="_blank"><img src="http://imagelocation2.com" border="0" width="200px" height="20px"></a>
我希望你明白我在找什么。
答案 0 :(得分:0)
您的RegExp解决方案是:
/<a\s*.*?><img\s*.*?<\/a>/
PHP示例:
$string = '<YOUR TEXT HERE>';
preg_match_all('#<a\s*.*?><img\s*.*?</a>#', $string, $matches);
print_r($matches[0]);
JavaScript示例:
var string = '<YOUR TEXT HERE>';
var matches = string.match(/<a\s*.*?><img\s*.*?<\/a>/g);
console.log(matches)