PHP preg_replace url 获取字符串中的参数
PHP preg_replace url get parameters in string
感谢@s.d.a.p.e,我已经接近一步,但我还没有完全做到。
我想做的是替换文本块中字符串的所有实例。我想替换这样的东西:
user is ?user_id=34&first_name=Ralph so is ?user_id=1 also
有了这个:
user is /user/34/ so is /user/1/ also
这是我正在使用的 preg_replace 代码:
$pattern = '#\?user_id=([0-9]+)#';
$replace = '/user//';
echo preg_replace($pattern,$replace,$string);
有了那个模式,我最终得到了这个:
user is /user/34/&first_name=Ralph so is /user/1/ also
再次感谢。
print preg_replace(
'#\?user_id=([0-9]+)\&(first_name=(?:.*))#',
'/user/?',
'?user_id=34&first_name=Ralph'
);
结果:
/user/34?first_name=Ralph if get it right..
试试这个:
$string = "user is ?user_id=34&first_name=Ralph so is ?user_id=1 also";
$result = preg_replace('/\?(user)_id=(\d+)(.*?)(?! )/i', '///', $string );
echo $result ;
输出:
user is /user/34/&first_name=Ralph so is /user/1/ also
我会用这个:
$string = 'user is ?user_id=34&first_name=Ralph so is ?user_id=1 also';
$pattern = '#\?user_id=([0-9]+)\S*#';
$replace = '/user//';
echo preg_replace($pattern, $replace, $string);
其中 \S
代表任何不是 space 的字符。
输出:
user is /user/34/ so is /user/1/ also
感谢@s.d.a.p.e,我已经接近一步,但我还没有完全做到。
我想做的是替换文本块中字符串的所有实例。我想替换这样的东西:
user is ?user_id=34&first_name=Ralph so is ?user_id=1 also
有了这个:
user is /user/34/ so is /user/1/ also
这是我正在使用的 preg_replace 代码:
$pattern = '#\?user_id=([0-9]+)#';
$replace = '/user//';
echo preg_replace($pattern,$replace,$string);
有了那个模式,我最终得到了这个:
user is /user/34/&first_name=Ralph so is /user/1/ also
再次感谢。
print preg_replace(
'#\?user_id=([0-9]+)\&(first_name=(?:.*))#',
'/user/?',
'?user_id=34&first_name=Ralph'
);
结果:
/user/34?first_name=Ralph if get it right..
试试这个:
$string = "user is ?user_id=34&first_name=Ralph so is ?user_id=1 also";
$result = preg_replace('/\?(user)_id=(\d+)(.*?)(?! )/i', '///', $string );
echo $result ;
输出:
user is /user/34/&first_name=Ralph so is /user/1/ also
我会用这个:
$string = 'user is ?user_id=34&first_name=Ralph so is ?user_id=1 also';
$pattern = '#\?user_id=([0-9]+)\S*#';
$replace = '/user//';
echo preg_replace($pattern, $replace, $string);
其中 \S
代表任何不是 space 的字符。
输出:
user is /user/34/ so is /user/1/ also