im试图捕获网址中“ 图片”字后面的一组数字
这是网址http://example.com/image123456/super_moon_image_2
这是我的期望http://my-example.com/get.php?123456
使用此代码对某些网址使用其工作,但如果网址上有另一个数字,结果将被破坏。
$link = 'http://example.com/image123456/super_moon_image_2';
$re = '/[^0-9]/';
$str = preg_replace($re, '', $link);
echo 'http://my-example.com/get.php?' . $str;
有人可以帮我纠正正则表达式吗 谢谢。
答案 0 :(得分:0)
您可以使用以下正则表达式模式:
(.+?)image(\d+).+
并替换为$1get.php?$2
。
这里是regex101 demo。
我不太了解PHP,但您的代码应如下所示:
$link = 'http://example.com/image123456/super_moon_image_2';
$re = '/(.+?)image(\d+).+/m';
$subst = '$1get.php?$2';
$newlink = preg_replace($re, $subst, $link);
echo $newlink;