PHP 用空白替换动态字符串

PHP replace a dynamic string with blank

我有这个 img 标签

<img src="../img/tmp/pack_mini_5753_.jpg?time=1464793546" alt="" class="imgm img-thumbnail">

我想删除字符串 ?time=1464793546。我有一个动态变量的时间,所以 1464793546 会随时间变化。

我试过了

 $image_tag = ImageManager::thumbnail($path_to_image, 'pack_mini_'.$pack_item->id.'_'.$this->context->shop->id.'.jpg', 120);
                        var_dump($image_tag);
 $pattern = '/(\w+)?time=(\d+)/i';
 $replacement = '';
 $pack_items[$i]['image'] =preg_replace($pattern, $replacement, $image_tag);
 var_dump($pack_items[$i]['image']);exit;

$image_tag returnimg 标签

<img src="../img/tmp/pack_mini_5753_.jpg?time=1464793546" alt="" class="imgm img-thumbnail">

Var_dump return 空。

您忘记转义在正则表达式中具有特殊含义的问号。只是逃避它:

$pattern = '/\?time=(\d+)/i';