我的网址结构为www.site.com/listings/232-real-estate,其中232是类别ID,不动产是我的类别名称。
我想只检索数字ID,用于使用类别ID从数据库中提取数据。我该怎么做?
答案 0 :(得分:1)
您可以使用以下简单的内容:
<?php
preg_match_all('#(\d+)#', $url, $matches);
$catid = $matches[0];
?>
但是这没有适当的检查。理想情况下,您希望基于/:
进行拆分<?php
$elements = explode('/',$url);
$category = $elements[2];
$subelements = explode('-',$category);
$categoryid = intval($subelements[0]);
?>
答案 1 :(得分:0)
您可以使用preg_replace
:
id = preg_replace('/^.*\/([0-9]*)-[^\/]*$/','$1')
这假定网址中的最后一个/
就在类别ID之前。
答案 2 :(得分:0)
如果232-real-estate
存储在变量$var
中,您可以使用以下方式获取ID:
$id = strtok($var, '-');
顺便说一下,得到这个名字是微不足道的:
$name = strtok(''); // returns: estate-agent