将“!”/“改为” - 取代一次

时间:2012-01-06 17:59:54

标签: php

我有

$name = "Apple iPad 2 (32 GB) Wi-Fi / 3G Black 9.7" Tablet - MC774LLA";

如何使用""!/.,"一次替换以下任何"-"

所以它看起来像

Apple-iPad-2-(32-GB)-Wi-Fi-3G-Black-9-7-Tablet-MC774LLA

由于

5 个答案:

答案 0 :(得分:2)

$beautifulName = preg_replace('/[!\/.,\s\-]+/', '-', $name);

答案 1 :(得分:0)

$name   = 'Apple iPad 2 (32 GB) Wi-Fi / 3G Black 9.7" Tablet - MC774LLA';
$name   = preg_replace("/-+/", '-', str_replace(array('"', '!', '.', ',', ' '), '-', $name));

有关详细信息,请参阅http://uk.php.net/str_replace

答案 2 :(得分:0)

最简单的解决方案是使用正则表达式和preg_replace

$string = 'Apple iPad 2 (32 GB) Wi-Fi / 3G Black 9.7" Tablet - MC774LLA';
$string = preg_replace('/["!/., ]+/', '-', $string);

答案 3 :(得分:0)

如果你想压缩多次出现,并且还要替换空格(正如你没有提到的那样),那么为了简单起见使用正则表达式:

$name = preg_replace('~[-/!"\s,...]+~', "-", $name);

答案 4 :(得分:0)

$name = 'Apple iPad 2 (32 GB) Wi-Fi / 3G Black 9.7" Tablet - MC774LLA';
print preg_replace('/["!\/.,\s-]+/', '-', $name);