Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中解析URL类型字符串的正则表达式_Php_Regex - Fatal编程技术网

在PHP中解析URL类型字符串的正则表达式

在PHP中解析URL类型字符串的正则表达式,php,regex,Php,Regex,我有这样一个字符串: 我想提取 Nnp82q3b844 它的一部分,即/v/和第一个和之间的部分 在PHP中有没有一种简单易行的方法 是的,他不应该太难找到你的推荐人或者理解我的答案 正则表达式的后面 像这样的事情应该会成功 preg_match('|http://www.youtube.com/v/([^&]+)&hl=en_US&fs=1&|', $url, $match ); var_dump($match[1]); [^&]+基本上意味着不止一个字符不

我有这样一个字符串:

我想提取

Nnp82q3b844

它的一部分,即/v/和第一个和之间的部分


在PHP中有没有一种简单易行的方法

是的,他不应该太难找到你的推荐人或者理解我的答案

正则表达式的后面

像这样的事情应该会成功

preg_match('|http://www.youtube.com/v/([^&]+)&hl=en_US&fs=1&|', $url, $match );
var_dump($match[1]);
[^&]+
基本上意味着不止一个字符不是“&”,“[]”定义一些字符可能性[^]使其反向,因此括号中的任何字符,+表示一个或多个字符

但是你最好自己看看


我真的建议你好好看看正则表达式,因为它确实可以节省你的工作时间,一旦你了解了它的工作原理,它就非常有用了

您不需要正则表达式。在这种情况下,您可以使用函数来完成这项工作

<?php
$url = 'http://username:password@hostname/path?arg=value#anchor';

print_r(parse_url($url));

echo parse_url($url, PHP_URL_PATH);
?>

阅读文档规则。基本掌握正则表达式并不难:PHP的文档:@Pentuim10:good function,我没有使用它,多亏了你,我今天学到了一些东西@拉格兹,谢谢。在我的个人资料中,查看我的其他答案,这些答案都经过了升级,你可能会发现更多需要学习的地方。
Array
(
   [scheme] => http
   [host] => hostname
   [user] => username
   [pass] => password
   [path] => /path
   [query] => arg=value
   [fragment] => anchor
)
/path
$str="http://www.youtube.com/v/Nnp82q3b844&hl=en_US&fs=1&";
$s = parse_url($str);
$t = explode("/", $s["path"]);
print preg_replace("/&.*/","",end($t));