2017-03-01 2 views
0

Hoch,Löschen von Leerzeichen in einem String und setzen eine vor

ich diese Funktion bin mit

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

alle Räume in einer CSS-Klasse Namen zu löschen.

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

Wie behalte ich das erste Leerzeichen vor dem Namen? So kann ich es für einen CSS-Klassennamen verwenden. Zum Beispiel: class = "Tags tag01 tag02"

+0

Können Sie ein Beispiel geben, was '$ itemTags' aussehen könnte und wie das Ergebnis sollte dann aussehen? – kyeiti

+0

Beispiel: "Kinder, Haus" wird zu "Kinderhaus" umgewandelt. Aber ich brauche den Spacer für einen Klassennamen mit mehreren Klassen. –

+0

Sie wollen also das Ergebnis „Kinder Haus“ dann sein? – kyeiti

Antwort

0

einfach den Raum hinzufügen, bevor Sie die Zeichenfolge echo:

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

vielen Dank für die einfache Lösung. Funktioniert perfekt –

0

Sie diesen Ausdruck

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

Wie würde das die Zeichenfolge überhaupt ändern? – kyeiti

+0

Explode-Funktion zerlegt einen String in ein Array durch 'explode ('your_delimeter_from_you_want_to_slice', $ your_string); 'Und implodieren wandelt in Zeichenfolge ein Array ein seperator platzieren' implodieren (‚your_seperator‘, $ your_array) (können Sie jedes Symbol, Zeichen oder eine Zahl nennen) ' –

+0

Und implodieren diese Änderung rückgängig gemacht ... so ist es das gleiche wie vorher ist (zumindest mit PHP 7) – kyeiti

0

Regular verwenden können, ist der effektivste Weg, dies zu tun.

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

Was dies tut, ist für eine oder mehrere Räume aussehen (das ist, was die + der Fall ist), und ersetzt sie durch ein Leerzeichen.

-Code aus dem Speicher eingegeben.

Verwandte Themen