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

 
Vista:

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: 126
Ha aumentado 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 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.944
Oro
Ha mantenido su posición 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.944
Oro
Ha mantenido su posición 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

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