正则表达式用参数替换字符串 [英] regex to replace string with params

查看:65
本文介绍了正则表达式用参数替换字符串的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述


请帮我创建正则表达式来替换如下字符串:
/technic/k-700/?type=repair
到像
这样的字符串/repair/k-700/
代替 k-700 可以是任何其他组合(在 / 之间)并且可以代替 repair 只能是 kit.
我需要图案和更换,请.这对我来说太难了.
我的结果不适用于 Wordpress:


Please help me to create regex for replace a string like:
/technic/k-700/?type=repair
to a string like
/repair/k-700/
Instead of k-700 can be any another combination (between / ) and instead of repair can be only kit.
I need pattern and replacement, please. It's so hard for me.
My result not working for Wordpress:

$pattern = '/technic/([0-9a-zA-Z-]+)/?type=$matches[1]';
$replacement = '/?/([0-9a-z-]+)/';

推荐答案

你可以试试这样的:

$test = preg_replace(
    '~/\w+/([\w-]+)/\?type=(\w+)~i',
    '/$2/$1/',
    '/technic/k-700/?type=repair'
);
var_dump($test);

结果将是:

string(14) "/repair/k-700/"

这篇关于正则表达式用参数替换字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆