使用正则表达式捕获数字组



>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 示例

相关内容

  • 没有找到相关文章

最新更新