替换 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 中的模式 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章