PHP str_替换数组以删除空格,并用-和/和-问题重新执行

PHP str_替换数组以删除空格,并用-和/和-问题重新执行,php,Php,我有一个问题,我下面的片段,它或多或少的工作。。。。我需要做的是将空格替换为-,并且还希望替换为-,但是它在它的任一侧添加了双精度for/as,并且不确定如何解决 PHP 输出: 简化的php发票——计费系统 预期: 简化的php发票计费系统 有时,使用一个str_replace()无法准确地完成字符串替换,因此您所要做的就是将进程拆分为两个独立的str_replace()调用 $optimise_product_name_pre = "Simplified PHP Invoice / Bill

我有一个问题,我下面的片段,它或多或少的工作。。。。我需要做的是将空格替换为-,并且还希望替换为-,但是它在它的任一侧添加了双精度for/as,并且不确定如何解决

PHP

输出:

简化的php发票——计费系统

预期:

简化的php发票计费系统


有时,使用一个
str_replace()
无法准确地完成字符串替换,因此您所要做的就是将进程拆分为两个独立的
str_replace()
调用

$optimise_product_name_pre = "Simplified PHP Invoice / Billing System";

$optimise_product_name = str_replace(" / ", "-", $optimise_product_name_pre);
$optimise_product_name = str_replace(" ", "-", $optimise_product_name);

echo $optimise_product_name;
结果

Simplified-PHP-Invoice-Billing-System
simplified-php-invoice-billing-system
如果您真的希望得到的字符串都是小写的,那么添加一个strtolower(),如下所示

$optimise_product_name_pre = "Simplified PHP Invoice / Billing System";

$optimise_product_name = str_replace(" / ", "-", $optimise_product_name_pre);
$optimise_product_name = str_replace(" ", "-", $optimise_product_name);

echo strtolower($optimise_product_name);
结果

Simplified-PHP-Invoice-Billing-System
simplified-php-invoice-billing-system
当然,如果我的
echo
确实在函数中,请用您使用的
return
替换我的
echo

仔细检查,这也有效

$optimise_product_name_pre = "Simplified PHP Invoice / Billing System";
$optimise_product_name = str_replace(array(" /"," "), array("","-"), $optimise_product_name_pre);

echo strtolower($optimise_product_name);

您真的希望生成的字符串都是小写的吗?请参阅此链接。这将为您解释stru_replace是如何工作的。