Add a comma to each word

4

Ex:

$str = "texto de teste";
// RESULTADO ESPERADO
$keywords = "texto, de, teste";
    
asked by anonymous 08.12.2015 / 02:28

3 answers

6
str_replace(" ", ", ", $descricao);

Whenever I find a space (''), replace with comma plus space (',')

    
08.12.2015 / 02:37
3

I would do a bit differently, I would use regex to remove additional spaces.

<?php
$exemplo = "texto de teste     com muitos   espaços talvez   erros de digitação";
$tags = preg_replace('/\s+/', ', ', $exemplo);
echo $tags . PHP_EOL;

$tags_2 = str_replace(" ", ", ", $exemplo);
echo $tags_2 . PHP_EOL;

Outputs:

Output preg_replace texto, de, teste, com, muitos, espaços, talvez, erros, de, digitação

Output of the str_replace code texto, de, teste, , , , , com, muitos, , , espaços, talvez, , , erros, de, digitação

Notice the difference? I hope you have helped him.

PS: This is not the "right way", it's just an alternative way, when there are too many spaces.

    
08.12.2015 / 04:47
-2

Based on your example, just do this:

$descricao = 'titulo de teste';  
//aqui ele limpa espaços duplos, e substitui por um espaço
$descricao = preg_replace('/\s+/', ' ',$descricao);  
$keywords = explode(' ',$descricao);
$listaComVirgula = implode(', ', $keywords);
echo $listaComVirgula;
    
08.12.2015 / 12:27