创建php代码,用php创建我自己的短代码

我建议你使用正则表达式来查找短代码模式的所有出现.

它使用preg_match_all(文档here)查找所有出现的内容,然后使用简单的str_replace(文档here)将已转换的短代码放回字符串中

此代码中包含的正则表达式只是尝试匹配0到括号[和]之间的字符的无限次出现

$string = "The people are very nice , [gal~route~100~100] , the people are very nice , [ga2l~route2~150~150]";

$regex = "/\[(.*?)\]/";

preg_match_all($regex, $string, $matches);

for($i = 0; $i < count($matches[1]); $i++)

{

$match = $matches[1][$i];

$array = explode('~', $match);

$newValue = $array[0] . " - " . $array[1] . " - " . $array[2] . " - " . $array[3];

$string = str_replace($matches[0][$i], $newValue, $string);

}

结果字符串现在是

The people are very nice , gal - route - 100 - 100 , the people are very nice , ga2l - route2 - 150 - 150

通过分两个阶段解决问题

>查找所有事件

>用新值替换它们

开发和调试更简单.如果您想在一定程度上更改您的短代码如何转换为URL或其他内容,它也会更容易.

编辑:按照杰克的建议,使用preg_replace_callback可以做到更简单.看他的答案.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值