php - How to replace every second white space? -
i want replace every second white space "," using preg_replace. , input string this:
$string = 'a b c d e f g h i'; should result in output this:
a b,c d,e f,g h,i thanks
you can use combination of explode, array_chunk, array_map , implode:
$words = explode(' ', $string); $chunks = array_chunk($words, 2); $chunks = array_map(function($arr) { return implode(' ', $arr); }, $chunks); $str = implode(',', $chunks); but assumes each word separated single space.
another , easier solution using preg_replace this:
preg_replace('/(\s+\s+\s+)\s/', '$1,', $string) the pattern (\s+\s+\s+)\s matches sequence of 1 or more non-whitespace characters (\s+), followed 1 or more whitespace characters (\s+), followed 1 or more non-whitespace characters, followed 1 whitespace character, , replaces last whitespace comma. leading whitespace ignored.
so matches in case:
a b c d e f g h \__/\__/\__/\__/ these replaced follows:
a b,c d,e f,g h,i
Comments
Post a Comment