php - preg_match - 需要从 url 中获取字符串

标签 php regex preg-match

我需要从一些 YouTube 网址中获取一个字符串,如下所示:

http://www.youtube.com/embed/WJlfVjGt6Hg?list=EC1512BD72E7C9FFCA&hl=en_US

我需要获取“../embed/”和“?list=..”之间的变量(-> WJlfVjGt6Hg )。

其他 YouTube 网址的代码如下所示:

// Checks for YouTube iframe, the new standard since at least 2011
if ( !isset( $matches[1] ) ) {
    preg_match( '#https?://www\.youtube(?:\-nocookie)?\.com/embed/([A-Za-z0-9\-_]+)#', $markup, $matches );}

我怎样才能做到这一点?

最佳答案

这是您的网址路径的基本名称:

$url = 'http://www.youtube.com/embed/WJlfVjGt6Hg?list=EC1512BD72E7C9FFCA&hl=en_US';
echo basename(parse_url($url, PHP_URL_PATH));
// WJlfVjGt6Hg

关于php - preg_match - 需要从 url 中获取字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13907793/

相关文章:

php - 使用上一个下拉 onchange 事件更改下一个下拉值

javascript - 在 Colorbox 中通过 Ajax 调用将表单数据保存到数据库

php - CakePHP 2.0 对象不是数组

ruby - 为什么这个正则表达式不能正常工作?

Python Regex - 非贪婪匹配不起作用

php - 验证字符串是否为带有某些特殊字符的字母数字

javascript - 如何在加载的 html 中预匹配此文本/javascript

javascript - 在 PHP 中使用多个变量时如何更改 href?

php - 从 Bash 脚本修改 PHP 文件

php - 使用 PHP 如何找到 CSS 标签/id/类并替换大括号内的样式?