Php 查找并替换字符串中的多个值

Php 查找并替换字符串中的多个值,php,Php,我从不同的服务器获取数据,其中有一个帖子的字符串(标题),该帖子也被传递到我的服务器。我试图过滤掉不需要的空格和字符,但似乎不起作用。我写的代码是 $find = array("%"," ","&","%20"); $replace = array("-"); $post_filtered_name=strtolower(str_replace($find,$replace,$post_title)); 但我得到了结果 benten 相反,我应该 ben-ten 试试这个: $re

我从不同的服务器获取数据,其中有一个帖子的字符串(标题),该帖子也被传递到我的服务器。我试图过滤掉不需要的空格和字符,但似乎不起作用。我写的代码是

$find = array("%"," ","&","%20");
$replace = array("-");
$post_filtered_name=strtolower(str_replace($find,$replace,$post_title));
但我得到了结果

benten
相反,我应该

ben-ten
试试这个:

$replace=“-”

而不是

$replace=array(“-”)

尝试以下操作:

$replace=“-”

而不是


$replace=array(“-”)

因为所有的针只有一个替换件,所以不要将其设置为阵列。把它当作一根绳子传递,剩下的就可以了

$replace = "-";

这也可以从

如果搜索和替换是数组,则str_replace()从每个数组中获取一个值,并使用它们对主题进行搜索和替换。如果replace的值少于search,则剩余的替换值将使用空字符串如果搜索是数组,替换是字符串,则此替换字符串用于搜索的每个值。然而,反之则没有意义


因为所有的针只有一个替代品,所以不要把它做成阵列。把它当作一根绳子传递,剩下的就可以了

$replace = "-";

这也可以从

如果搜索和替换是数组,则str_replace()从每个数组中获取一个值,并使用它们对主题进行搜索和替换。如果replace的值少于search,则剩余的替换值将使用空字符串如果搜索是数组,替换是字符串,则此替换字符串用于搜索的每个值。然而,反之则没有意义


请参见此处有关参数的部分:

如果search和replace是数组,那么str_replace()将接受一个值 并使用它们来搜索和替换主题如果 “替换”的值少于“搜索”,则将使用空字符串进行替换 其余的替换值

然而:

如果搜索是数组,替换是数组 字符串,则此替换字符串用于 搜索。然而,反之则没有意义

因此:

$replace = array("-");
只需使用:

$replace = "-";

请参见此处有关参数的部分:

如果search和replace是数组,那么str_replace()将接受一个值 并使用它们来搜索和替换主题如果 “替换”的值少于“搜索”,则将使用空字符串进行替换 其余的替换值

然而:

如果搜索是数组,替换是数组 字符串,则此替换字符串用于 搜索。然而,反之则没有意义

因此:

$replace = array("-");
只需使用:

$replace = "-";

在转换字符串时,请尝试以下操作:

$post_title="ben  ten%20Hero";
$post_filtered_name=strtolower(preg_replace('/(\%|\s)+/', '-', urldecode($post_title)));

echo $post_filtered_name;

在转换字符串时,请尝试以下操作:

$post_title="ben  ten%20Hero";
$post_filtered_name=strtolower(preg_replace('/(\%|\s)+/', '-', urldecode($post_title)));

echo $post_filtered_name;

您试图通过传递数组
$find
从字符串中过滤掉许多不需要的和多余的字符。因此,还必须分别为每个搜索元素提供替换字符串

所以在这里你必须替换这个

$replace=array(“-”)

$replace=array(“-”、“-”、“-”、“-”、“-”)


$find
$replace
中的索引数必须相同。

您试图通过传递数组
$find
从字符串中过滤掉许多不需要的和多余的字符。因此,还必须分别为每个搜索元素提供替换字符串

所以在这里你必须替换这个

$replace=array(“-”)

$replace=array(“-”、“-”、“-”、“-”、“-”)


$find
$replace
中的索引数必须相同。

原始字符串是什么?原始字符串是什么?