只从URL中检索类别ID

问题描述:

我的网址结构为www.site.com/listings/232-real-estate,其中232是类别ID和不动产作为我的类别名称。只从URL中检索类别ID

我想只检索数字ID,用于使用类别ID从数据库提取数据。我怎么做?

+1

ID是'232'吗?或'23'? – huon 2012-03-25 10:05:50

+0

@dbaupp,对不起,编辑我的问题。该ID是232. – WebNovice 2012-03-25 10:08:23

+0

您想使用哪种语言? PHP或者awk也可以吗? – 2012-03-25 10:13:04

可以使用的简单的东西:

<?php 
preg_match_all('#(\d+)#', $url, $matches); 
$catid = $matches[0]; 
?> 

但是,这并不具有足够的检查到位。理想情况下,你想拆就基础/:

<?php 

$elements = explode('/',$url); 
$category = $elements[2]; 
$subelements = explode('-',$category); 
$categoryid = intval($subelements[0]); 

?> 

您可以使用preg_replace

id = preg_replace('/^.*\/([0-9]*)-[^\/]*$/','$1') 

这假定在URL中的最后/只是类别ID之前。

如果232-real-estate存储在变量$var你可以使用获得ID:

$id = strtok($var, '-'); 

顺便说一句,它是那么微不足道得到名字:

$name = strtok(''); // returns: estate-agent