>im 试图捕获 url 中">image"字后面的一组数字
这是网址http://example.com/image123456/super_moon_image_2
这是我的期望http://my-example.com/get.php?123456
我使用此代码对某些 URL 起作用,但如果 URL 上有另一个数字,结果将损坏。
$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;
有人可以帮我更正正则表达式吗 谢谢。
您可以使用以下正则表达式模式:
(.+?)image(d+).+
并替换为$1get.php?$2
.
这是一个正则表达式101演示。
我不太了解 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;
实时 PHP 示例。