好的,如果我有这个网址:
<iframe width="510" height="400" src="http://xhamster.com/xembed.php?video=XXXXXX" frameborder="0" scrolling="no"></iframe>我可以用
preg_match('/video=([a-zA-Z0-9]+)/', $url, $url_data);我该如何处理这个网址:
<iframe src="http://flashservice.xvideos.com/embedframe/XXXXX" frameborder=0 width=510 height=400 scrolling=no></iframe>XXXX是id
我真的不知道我用正则表达式做什么
发布于 2015-04-21 00:03:55
看看您试图捕获的字符串,并注意到不同之处。第一个是?video=。第二种不同的结构。试着做这样的事情:
preg_match('/embedframe\/([a-zA-Z0-9]+)/', $url, $url_data);发布于 2015-04-21 00:03:19
preg_match('/src=".*\/([a-zA-Z0-9]+)"/', $url, $url_data);或者因为src可能是大写的,添加不区分大小写:
preg_match('/src=".*\/([a-zA-Z0-9]+)"/i', $url, $url_data);另一个改进是避免过于贪婪地匹配url中的其他属性字段可能具有"/“字符的情况,修改如下:
preg_match('/src=".*?\/([a-zA-Z0-9]+)"/i', $url, $url_data);https://stackoverflow.com/questions/29760475
复制相似问题