首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用预匹配从以下嵌入链接获取id

如何使用预匹配从以下嵌入链接获取id
EN

Stack Overflow用户
提问于 2015-04-20 23:53:24
回答 2查看 8.3K关注 0票数 1

好的,如果我有这个网址:

代码语言:javascript
复制
 <iframe width="510" height="400" src="http://xhamster.com/xembed.php?video=XXXXXX" frameborder="0" scrolling="no"></iframe>

我可以用

代码语言:javascript
复制
preg_match('/video=([a-zA-Z0-9]+)/', $url, $url_data);

我该如何处理这个网址:

代码语言:javascript
复制
<iframe src="http://flashservice.xvideos.com/embedframe/XXXXX" frameborder=0 width=510 height=400 scrolling=no></iframe>

XXXX是id

我真的不知道我用正则表达式做什么

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-04-21 00:03:55

看看您试图捕获的字符串,并注意到不同之处。第一个是?video=。第二种不同的结构。试着做这样的事情:

代码语言:javascript
复制
preg_match('/embedframe\/([a-zA-Z0-9]+)/', $url, $url_data);
票数 1
EN

Stack Overflow用户

发布于 2015-04-21 00:03:19

代码语言:javascript
复制
preg_match('/src=".*\/([a-zA-Z0-9]+)"/', $url, $url_data);

或者因为src可能是大写的,添加不区分大小写:

代码语言:javascript
复制
preg_match('/src=".*\/([a-zA-Z0-9]+)"/i', $url, $url_data);

另一个改进是避免过于贪婪地匹配url中的其他属性字段可能具有"/“字符的情况,修改如下:

代码语言:javascript
复制
preg_match('/src=".*?\/([a-zA-Z0-9]+)"/i', $url, $url_data);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29760475

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档