PHP удаляет символы после определенной строки определенной длины

У меня есть строка:

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

Я хотел бы удалить все после .png или .jpg, когда возникает вопросительный знак. Цель состоит в том, чтобы удалить временную метку, добавленную ?1476187745382, но не "/></p> какой-то текст...

Имейте в виду, что временная метка изменится, и то, что следует за изображением >, также будет другим.

Я просмотрел разные решения, но все они удаляют либо точное вхождение, либо все после определенного символа, а это не то, что мне нужно делать.

Это то, что я посмотрел:

  1. PHP удаляет символы после последнего вхождения символ в строке
  2. Удалить часть строки после определенного символа

Может ли кто-нибудь указать мне правильное направление?


person Bryan Meyer    schedule 12.10.2016    source источник


Ответы (2)


Не всегда нужно, но регулярное выражение сделает это:

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

Если метка времени не всегда состоит из 13 цифр, замените {13} только на +.

person AbraCadaver    schedule 12.10.2016

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

$subpath = взорвать('?',$path)[0];

person Aammad Ullah    schedule 12.10.2016