PHP - Separar cadena sin espacios por sus letras mayúsculas

 
Vista:
sin imagen de perfil

Separar cadena sin espacios por sus letras mayúsculas

Publicado por Juan (2 intervenciones) el 18/12/2017 05:48:43
Que tal!
Disculpen, tengo un
String = HolaATodosLosUsuarios
y necesito separarlo. Que quede así por ejemplo:
hola a todos los usuarios
Pero no puedo.
Ya intenté convertir en String en array y recorrerlo, también utilizar funciones como preg_match, preg_replace pero nada, así como funciones regulares.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Víctor
Val: 152
Ha disminuido su posición en 6 puestos en PHP (en relación al último mes)
Gráfica de PHP

Separar cadena sin espacios por sus letras mayúsculas

Publicado por Víctor (192 intervenciones) el 18/12/2017 08:05:11
Hola:

Sin entrar en código, yo haría:

Primer hay que tener un array con las letras Mayúsculas.
1.- La primera letra si está en mayúscula convertir a minúscula
2.- Añadir al string de salida
3.- Si se ha llegado al final se TERMINA
4.- Se lee la siguiente letra
5.- SI la letra leída es mayúscula se sigue en 6 EN OTRO CASO se sigue en 7
6.- Se añade al string de la salida un espacio y la letra en minúscula y se sigue en 3
7,- Se añade al string de salida sólo la letra y se sigue en 3

Para obtener una letra por su posición tienes 'substr'
Para ver si una letra está en el array de mayúsculas 'in_array'
Para añadir una letra al string de salida: salida = salida + letra

Espero haberte ayudado.

Saludos de Víctor.-
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de kip
Val: 2.325
Plata
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Separar cadena sin espacios por sus letras mayúsculas

Publicado por kip (877 intervenciones) el 18/12/2017 20:35:12
Hola, aqui te dejo algo a ver si te funciona:

1
2
3
4
5
6
7
8
9
echo trim(
    array_reduce(
        str_split('HolaATodosLosUsuarios'),
        function($c, $v) {
            $c .= ctype_upper($v) ? ' ' . $v : $v;
            return $c;
        }
    )
);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de kip
Val: 2.325
Plata
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Separar cadena sin espacios por sus letras mayúsculas

Publicado por kip (877 intervenciones) el 18/12/2017 20:58:55
Se me escapo colocar en minúsculas las letras que estaban en mayúsculas, es algo simple:

1
2
3
4
5
6
7
8
9
echo trim(
    array_reduce(
        str_split('HolaATodosLosUsuarios'),
        function($c, $v) {
            $c .= ctype_upper($v) ? ' ' . strtolower($v) : $v;
            return $c;
        }
    )
);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
3
Comentar
sin imagen de perfil

Separar cadena sin espacios por sus letras mayúsculas

Publicado por Juan (2 intervenciones) el 19/12/2017 00:29:23
Excelente!
Me faltó investigar esas funciones.
Gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar