2017-03-01 88 views
0

高,删除空间,把一个在前面

我使用这个功能

function special_chars_replace($string){ 
    $result = preg_replace("/[&%\$#@'\*:\/\"\[\]\{\};\(\)\|\\\=!\^\?`~.,\+-]/", "", $string); 
    return $result; 
} 

删除一个CSS类名的所有空格。

<?php echo special_chars_replace(strtolower(str_replace(" ","",$itemTags))); ?> 

我该如何保留名称前的第一个空格?所以我可以使用它的CSS类名称。例如:类=“标签tag01 tag02”

+0

你能给什么'$ itemTags'可能看起来像,结果如何则看起来像一个例子吗? – kyeiti

+0

例如:“Kinder,Haus”被转换为“kinderhaus”。但是我需要一个班级名称的分隔符。 –

+0

那么你希望结果是“Kinder Haus”呢? – kyeiti

回答

0

只需添加你的空间呼应字符串之前:

<?php 
echo " ".special_chars_replace(strtolower(str_replace(" ","",$itemTags))); 
?> 
+0

谢谢你的简单解决方案。完美的作品 –

0

您可以使用此

<?php echo implode(" ",explode(" ",$itemTags)); ?> 
+0

这将如何改变字符串呢? – kyeiti

+0

explode函数通过'explode('your_delimeter_from_you_want_to_slice',$ your_string)将一个字符串分解成一个数组。 '和implode将数组转换为字符串放置分隔符(可以提及任何符号,字符或数字)'implode('your_seperator',$ your_array)' –

+0

并且implode撤消更改...所以它和以前一样至少在PHP 7) – kyeiti

0

正则表达式是做到这一点的最有效途径。

echo preg_replace(' +', ' ', $itemTags); 

这样做是寻找一个或多个空格(这是+做什么),并用一个空格替换它。

从内存键入的代码。