我不太习惯使用rtrim和Reg表达式。所以我想对此表示怀疑:
这是一个网址:http://imgur.com/r/pics/paoWS
我正在尝试在此网址上使用rtrim函数从整个网址中仅选择“paoWs”。 这是我试过的:
$yurl = 'http://imgur.com/r/pics/paoWS';
$video_id = parse_url($yurl, PHP_URL_PATH);
$yid=rtrim( $video_id, '/' );
我正在使用'$ yid'来链接imgur的图片。但尝试此功能后我得到的是:
$yid= '/r/pics/paoWS'
我该如何解决这个问题?
答案 0 :(得分:4)
rtrim
用于修剪右侧的某些字符或空格字符串。它当然不应该用于你的目的。
假设URL结构始终相同,您可以执行以下操作:
$yurl = 'http://imgur.com/r/pics/paoWS';
$video_id = parse_url($yurl, PHP_URL_PATH);
$parts = explode('/', $video_id)
$yid = end($parts);
答案 1 :(得分:2)
你不应该使用正则表达式(这是“昂贵的”)来解决这么简单的问题。
如果要捕获URL的最后一部分,在最后一个斜杠之后,您可以执行以下操作:
$urlParts = explode('/', 'http://imgur.com/r/pics/paoWS');
$lastPart = end($urlParts);
答案 2 :(得分:1)
rtim( strrchr('http://imgur.com/r/pics/paoWS' , '/') ); rtrim + strrchr
substr(strrchr('http://imgur.com/r/pics/paoWS', "/"), 1); substr + strrchr
答案 3 :(得分:1)
rtrim()
返回已过滤的值,而不是已删除的字符。而且你对它的使用也不合适 - 它会从右侧侧剥离传递的字符。而且您也不需要parse_url()
。
已经给出了适当的答案,但这是一个更快的选择:
$yid = substr($yurl, strrpos($yurl, '/')+1);
编辑:还有一个:
$yid = ltrim(strrchr($yurl, '/'), '/');