我们的想法是在字符串中搜索某些单词,并根据特定的数组将其更改为其他单词.让我告诉你我的意思.
$string = "hello buddy, I'm your friend or maybe a fellow";
Run Code Online (Sandbox Code Playgroud)
让我们说friends是一个发誓的话.我想把这个词改成我想要的.所以我做了这个:
$swears = array(
"friend" => "fri**d",
"buddy" => "bu**y",
"fellow" => "fe**ow"
);
Run Code Online (Sandbox Code Playgroud)
我想根据数组的键搜索字符串,并用它的值替换它.我搜索网络所有我得到的是根据数组键替换数组中的值.所以在尝试后我想出了这个:
$string = "hello buddy, I'm your friend or maybe a fellow";
$swears = array(
"friend" => "fri**d",
"buddy" => "bu**y",
"fellow" => "fe**ow"
);
$foreach = $string;
foreach($swears as $bad => $good){
$foreach = str_replace($bad,$good,$foreach);
$filtered = $foreach;
}
echo $filtered;
Run Code Online (Sandbox Code Playgroud)
我知道它有效,但有一种简单的方法我觉得我复杂了整个事情.如果我很好,是否有可能导致问题,如果我有大字符串,或需要时间来处理它.
str_replace可能提供array搜索词和替换词array:
<?php
$string = "hello buddy, I'm your friend or maybe a fellow";
$swears = array(
"friend" => "fri**d",
"buddy" => "bu**y",
"fellow" => "fe**ow"
);
echo str_replace(array_keys($swears), array_values($swears), $string);
?>
Run Code Online (Sandbox Code Playgroud)
显示:
hello bu**y, I'm your fri**d or maybe a fe**ow
Run Code Online (Sandbox Code Playgroud)