REGEX:获取网址中的具体数字

时间:2013-12-16 06:53:25

标签: php regex

我尝试从此网址获取产品ID,该模式尝试在p-之后和.html之前找到数字

http://www.domain.com/jp-37025-shoes-red-p-362060.html?stores=203
http://www.domain.com/pp-66743-shoes-red-p-665322.html?stores=12

结果应为:

362060
665322

我目前的代码:

$subject = "http://www.domain.com/jp-37025-shoes-red-p-362060.html?stores=203";
$patern = '/\W*[a-z]\D*/';
$string = preg_replace($patern, '', $subject);

echo $string;

2 个答案:

答案 0 :(得分:4)

您应该使用括号完全匹配:

preg_match("/p-(\d+)\.html/", $input_line, $output_array);

例如,第一个字符串匹配如下:

Array
(
    [0] => p-362060.html
    [1] => 362060
)

答案 1 :(得分:1)

你想要的是preg_match,而不是preg_replace。

preg_match ( '/(\d+)\.html/', $subject, $matches );

echo $matches [1];