我需要 PHP 中的函数来处理类似这样的替换。
$pattern = ':foo/anotherString';
$replacement = array(
'foo' => 'HelloMe'
);
bazFunction($pattern, $replacement); // return 'HelloMe/anotherString';
这种方法在某些框架中用作路由模式。我想知道哪个函数处理那个。
$string = "foo/anotherString";
$replacement = array('foo','HelloMe');
$newString = str_replace($replacement[],,$string);
这应该可以(因为关闭需要 5.3)
function my_replace($pattern, $replacement) {
// add ':' prefix to every key
$keys = array_map(function($element) {
return ':' . $element;
}, array_keys($replacement));
return str_replace($keys, array_values($replacement), $pattern);
}
如果您将内容直接传递给,则不需要此功能str_replace
str_replace(array(':foo'), array('HelloMe'), ':foo/anotherString');
似乎php为您提供了该功能...
str_replace ( ":foo", "HelloMe" , $pattern )
会给你这个输出:HelloMe/anotherString