PHP在数组中将关键字替换为值
如何替换或过滤像str_ireplace这样的文本中的坏单词? 我需要在数组中将单词从key替换为value,但不使用foreach和explode 示例数组PHP在数组中将关键字替换为值,php,arrays,replace,filter,Php,Arrays,Replace,Filter,如何替换或过滤像str_ireplace这样的文本中的坏单词? 我需要在数组中将单词从key替换为value,但不使用foreach和explode 示例数组 $_filter = [ 'badwords' => [ 'one' => 'time', 'bad' => 'good', 'ugly' => 'beauty' ] ]; 示
$_filter = [
'badwords' => [
'one' => 'time',
'bad' => 'good',
'ugly' => 'beauty'
]
];
示例替换
$before = 'anyone help me please';
$after = 'anytime help me please';
$before = 'I need BaD function';
$after = 'I need good function';
$before = 'I am so (ugly)';
$after = 'I am so (beauty)';
尝试但不起作用。
任何人都可以帮我。谢谢我会用一个简单的
str\u替换
<?php
$search = array('one', 'bad', 'ugly');
$replace = array('time', 'good', 'beauty');
$before = 'anyone help me please';
echo str_replace($search, $replace, $before);
$before = 'I need bad function';
echo str_replace($search, $replace, $before);
$before = 'I am so (ugly)';
echo str_replace($search, $replace, $before);
函数str_ireplace()将根据其文档接受数组作为第一、第二和第三个参数:
使用函数array_keys(),可以从过滤器数组中获取所有键,并将它们作为第一个参数传递。然后只需将数组作为第二个参数传递,将字符串作为第三个参数传递
代码示例:
$filter = [
'badwords' => [
'one' => 'time',
'bad' => 'good',
'ugly' => 'beauty'
]
];
$before = 'anyone help me please';
$after = str_ireplace(array_keys($filter['badwords']), $filter['badwords'], $before);
echo $after;
您的输出将是:
anytime help me please
谢谢,数组_键是解决我问题的完美函数