我想用PHP从网址中提取信息。如何从网址获取值“matt”:
www.shareit.me/matt
另外,我怎么可能检查一下是否有值开始?
答案 0 :(得分:4)
这里不需要过于复杂的事情:
$url = 'www.shareit.me/matt';
$segs = explode('/', $url);
echo $segs[1]; // matt
检查它是否存在就像if ( !empty($segs[1]) ) {}
假设您想要值matt
而不仅仅是“路径”,这将适用于所有这些:
www.shareit.me/matt // matt
www.shareit.me/matt/photos
www.shareit.me/matt/photos/vacation/nebraska/cows/ // matt
www.shareit.me/matt/photos?vacation=mexico&gallery=donkeyshow // matt
www.shareit.me/matt/loves/cheese // matt
如果你真的希望人们知道马特喜欢奶酪,你应该使用parse_url()代替:
parse_url('www.shareit.me/matt/loves/cheese', PHP_URL_PATH); // /matt/loves/cheese
答案 1 :(得分:3)
<?php
$url = 'http://username:password@hostname/path?arg=value#anchor';
print_r(parse_url($url));
echo parse_url($url, PHP_URL_PATH);
?>
以上示例将输出:
Array
(
[scheme] => http
[host] => hostname
[user] => username
[pass] => password
[path] => /path
[query] => arg=value
[fragment] => anchor
)
/path
答案 2 :(得分:2)
您可以使用parse_url函数,这将返回一个包含有关URL的所有信息的数组。这样的事情可能就是你想要的:
echo explode('/', parse_url('http://www.shareit.me/matt')['path'])[1];
答案 3 :(得分:1)
如果要获取用于浏览脚本的URL,请使用$_SERVER['REQUEST_URI']
变量。
在你的情况下,它将返回:
/matt
但您需要过滤掉您实际需要的信息。
为此,您可以使用preg_match
或其他方式。
有关$_SERVER
变量的更多信息:see this page
如果您想获取包含网址的字符串的信息,可以使用
爆炸(“/”,$ url);
答案 4 :(得分:1)
$url = "http://www.shareit.me/matt";
$parts = Explode('/', $url);
$id = $parts[count($parts) - 1];
顺便提一下Getting a part from a string 。
答案 5 :(得分:0)
您可以将{regex与preg_match
preg_match("/.\/(.*)$/",$url,$matches);
如果它包含您想要的内容,则检查匹配