what is the easiest way of getting a number from a url?

回眸只為那壹抹淺笑 提交于 2019-12-11 06:16:09

问题


I am hoping someone can help me, I have created url's like this

/this/is/a/test/index.asp
/this/is/a/test/index-1.asp
/this/is/a/test/index-2.asp
/this/is/a/test/index-3.asp

What is the easiest way to strip the number from the URL?

Instead of using variables like this:

/this/is/a/test/index.asp?no=1
/this/is/a/test/index.asp?no=2
/this/is/a/test/index.asp?no=3

to create variables I am using the number in the URL to dynamically call the content on the page.

If the url is: /this/is/a/test/index-3.asp it should use the 3 and match the content according to it, similar as if I were to call

?no=3

I am using PHP for this...

The url structure will always have the variable define as match the last '-' [the-number] '.asp'

Thanks

Gerald Ferreira


回答1:


You should be able to match it out with:

if (preg_match('/\-(\d+)\.asp$/', $_SERVER['REQUEST_URI'], $a)) {
    $pageNumber = $a[1];
} else {
    // failed to match number from URL
}



回答2:


You could use mod_rewrite to map URL patterns to actual URLs. You could achieve what you want with something similar to the following:

RewriteRule ^index-([0-9]+).asp$ index.asp?no=$1


来源:https://stackoverflow.com/questions/5696628/what-is-the-easiest-way-of-getting-a-number-from-a-url

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!