Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 仅从URL检索类别ID_Php_Regex_Seo - Fatal编程技术网

Php 仅从URL检索类别ID

Php 仅从URL检索类别ID,php,regex,seo,Php,Regex,Seo,我的URL结构为www.site.com/listings/232-real-estate,其中232是类别ID,real-estate是我的类别名称 我只想检索用于使用类别ID从数据库中提取数据的数字ID。如何执行此操作?您可以使用preg\u replace: id = preg_replace('/^.*\/([0-9]*)-[^\/]*$/','$1') 这假设url中的最后一个/恰好位于类别ID之前。您可以使用以下简单的方法: <?php preg_match_all('#(\

我的URL结构为www.site.com/listings/232-real-estate,其中232是类别ID,real-estate是我的类别名称


我只想检索用于使用类别ID从数据库中提取数据的数字ID。如何执行此操作?

您可以使用
preg\u replace

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

这假设url中的最后一个
/
恰好位于类别ID之前。

您可以使用以下简单的方法:

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

但这并没有进行充分的检查。理想情况下,您希望根据/:

<?php

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

?>

如果
232不动产
存储在变量
$var
中,则可以使用以下方法获取ID:

$id = strtok($var, '-');
顺便说一句,获得名称是很简单的:

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

@dbaupp,对不起,编辑了我的问题。ID是232。您想使用哪种语言?php或awk也可以吗?