当前位置: 首页 > 知识库问答 >
问题:

php - 求教大佬们 一个 关于正则替换的问题?

燕俊明
2023-08-29
function a($reg = '',$cid = 0, $page = 1){            //返回 list-$cid/$page/    // list-1/2/    return $url}$reg = 'list\-([0-9]+)\/([0-9]+)\/';echo a($reg, 1, 2);

怎么在a函数里面 返回 list-1/2/ 。

注意:
不能写死 list , 因为 $reg 其实也是一个变量(正则表达式)。
后期可能改成 cate 就是返回 cate-1/2/
改成 category 就是返回 category-1/2/

共有2个答案

施阳曜
2023-08-29

正则的拼接处理办法:

const c = new RegExp('^(\\-)*(\\d+)\\.(\\d{0,' + allOpt.ws + '})\.*$');
申辉
2023-08-29

你都传了两个参数进去了,为什么还需要正则呢,直接拼接字符串就好了吧

function a($category, $cid, $page) {    return "$category-$cid/$page/";}

这种场景其实不应该使用正则,而是模板字符串

function a($template, $cid, $page) {    return sprintf($template, $cid, $page);}a("list-%d/%d/", 1, 2);

补充

$input = "list-1/2/";$pattern = '/(\w+)-(\d+)\/(\d+)\//';$replacement = '$1-index-cid-$2-page-$3';$output = preg_replace($pattern, $replacement, $input);
 类似资料:
  • 大家好,我想做一个关于换行符\n的正则表达式替换 输入文本是这样的 \nAAAAAA: \n\nBBBBBBB \n \n\nCCCCC\n\n\n 需求是把连续的\n(比如\n\n),还有中间可能有空格的场景(比如\n \n\n),全部换成单个的\n符号 上面的文本,期望的效果是 \nAAAAAA: \nBBBBBBB \nCCCCC\n 当然如果有办法把首末的\n一起去掉更好,但这个属于锦上添

  • 关于正则的一个小问题 /#\/((\w)+)/.exec("/a-web/#/abc?") 返回值是  ['#/abc', 'abc', 'c', index: 7, input: '/a-web/#/abc?', groups: undefined] 数组第二项是匹配项(\w+) 返回 'abc' 数组的第三项 返回值 'c'怎么理解啊 没啥尝试

  • 请问下面的 model 参数的类型该如何定义呢? 我试了半天,好像没有办法

  • 当前情况暂且可以满足: 但若: 头)被截断了。如何修改呢? 字符串的格式:\d+\.(我希望这里是任意字符,但也可以削减范围)+ * 然后重复。

  • 本地请求接口是正常的。 但放到服务器上,请求的接口就变为了这样的,会多出一个admin,这是什么问题?求教大佬们! 跨域配置和封装baseURL的接口前缀都没有加admin

  • 本人想入坑golang来做web开发,向大佬们请教些问题(感谢指教),如下: 1.请推荐一下golang web框架(原因) 2.请推荐一些golang web框架写的应用的开源的代码,例如写的论坛呀,即时通信呀,流量统计呀等等(学习参考) 3.golang做web的优势说明 求指教!!!!!非常感谢!!!!!