假设我在“URL”列下有一个条目,如下所示:
URL
“得到[书/小说]?id=324223”
“获取/教室/ HTTP/1.0”
“获取/register.php HTTP/1.0”
POST /thankyou.php HTTP/1.0
“获取/register.php?error=alreadyregistered HTTP/1.0”
POST /processlogin.php?next=%2Fregister.php%3Ferror%3Dalreadyregistered HTTP/1.0
“获取/register.php?error=alreadyregistered HTTP/1.0”
“得到[书/小说]?id=324273”
我需要一个查询,它将帮助我从URL中获得第一对斜杠'/‘中包含的单词。例如:“教室”,“注册”等等..。
参赛作品不限于这些..。所以我需要一个通用查询,而不是一个特定的one..Help?
发布于 2011-04-29 22:24:41
这应该能起作用(如果我正确理解了这个问题):
$request = "GET /books/fiction?id=324223";
// captures URI from request string
$request_array = explode( ' ', $request );
$request_uri = $request_array[ 1 ];
// captures anything between / and . or /
preg_match( '#\/(.*?)[./]#', $request_uri, $matches);
var_dump($matches);发布于 2011-04-29 21:17:17
select substring_index(substring_index('http://books/serious?id=32423','//',-1),'/',1)发布于 2011-04-29 23:09:05
$teststr = array(
"GET /books/fiction?id=324223",
"GET /classroom/ HTTP/1.0",
"GET /register.php HTTP/1.0",
"POST /thankyou.php HTTP/1.0",
"GET /register.php?error=alreadyregistered HTTP/1.0",
"POST /processlogin.php?next=%2Fregister.php%3Ferror%3Dalreadyregistered HTTP/1.0",
"GET /register.php?error=alreadyregistered HTTP/1.0",
"GET /books/fiction?id=324273" );
foreach( $teststr as $str )
if( preg_match( '/\/(?P<folder>\w+)\//', $str, $match) )
echo $match['folder']."<br />";返回
books
classroom
bookshttps://stackoverflow.com/questions/5837468
复制相似问题