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>
一些文本 ...
请记住,时间戳会发生变化,图像 >
之后的内容也会有所不同。
我看过不同的解决方案,但它们都删除了确切的出现或特定字符后的所有内容,这不是我需要做的。
这是我看过的:
- PHP remove characters after last occurrence of a character in a string
- 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];
我有一个字符串是:
<p><img src="../filemanager/image.png?1476187745382"/></p> some text ...
我想在出现问号时删除 .png
或 .jpg
之后的所有内容。目标是删除添加的时间戳 ?1476187745382
但不是 "/></p>
一些文本 ...
请记住,时间戳会发生变化,图像 >
之后的内容也会有所不同。
我看过不同的解决方案,但它们都删除了确切的出现或特定字符后的所有内容,这不是我需要做的。
这是我看过的:
- PHP remove characters after last occurrence of a character in a string
- 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];