PHP 删除特定字符串后特定长度的字符

PHP remove characters after a specific string for a certain length

我有一个字符串是:

<p><img src="../filemanager/image.png?1476187745382"/></p> some text ... 

我想在出现问号时删除 .png.jpg 之后的所有内容。目标是删除添加的时间戳 ?1476187745382 但不是 "/></p> 一些文本 ...

请记住,时间戳会发生变化,图像 > 之后的内容也会有所不同。

我看过不同的解决方案,但它们都删除了确切的出现或特定字符后的所有内容,这不是我需要做的。

这是我看过的:

  1. PHP remove characters after last occurrence of a character in a string
  2. Remove portion of a string after a certain character

有人能给我指出正确的方向吗?

并不总是需要,但一个正则表达式就可以做到:

$string = preg_replace('/\?[\d]{13}/', '', $string);

如果时间戳不总是 13 位数字,则将 {13} 替换为 +

$path = "../filemanager/image.png?1476187745382";

$subpath = explode('?',$path)[0];