替换 PHP 中的模式 [关闭]

Posted

技术标签:

【中文标题】替换 PHP 中的模式 [关闭]【英文标题】:Replacing pattern in PHP [closed] 【发布时间】:2012-10-20 19:40:38 【问题描述】:

我在字符串中有要替换为其他内容的模式。

例如

$str = '1 Foo Bar 4';

我希望将上面的字符串转换为:

$str = arg(0). 'Foo Bar'.arg(4)

【问题讨论】:

到目前为止你有没有尝试过? 不明白:您只想删除“Foo Bar”周围的空格? 不,我想将模式 number 替换为 arg(number)。例如2 应该是 arg(2),其中 arg() 是函数。 请了解更多详情 【参考方案1】:

在这种情况下,最好使用preg_replace_callback()。不清楚arg(4) 是什么,是变量调用还是真正的函数调用。

只有当你可以约束匹配的值时,你才可以像这样使用preg_replace/e

 $text = preg_replace('~ [] (\d+) [] ~xie', 'arg($1)', $text);

这将为n 的每次出现调用arg($decimal)。如果您只匹配示例中的小数,则可行。

【讨论】:

谢谢,它真的很棒的解决方案。这正是我一直在寻找的。​​span> 【参考方案2】:

遍历这个函数

str_replace

preg_replace

for(i=0;i<n;i++)

$str = str_replace("i", arg(i), $str);

【讨论】:

以上是关于替换 PHP 中的模式 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

iOS中的json模式显示[关闭]

PHP常见的设计模式

PHP常用的 五种设计模式及应用场景

使用正则表达式匹配 PHP 中的 URL 模式

C ++的用户模式同步库[关闭]

PHP设计模式之策略模式