Hola a tod@s portalian@s, estaba realizando un ejercicio con php , básicamente lo que quiero hacer es obtener los primer caracter de una cadena (en este caso de un nombre y apellido ) e creado el siguiente código para realizar esto funciona bien y logra el objetivo pero quería saber si existe alguna otra forma mas simple. como tiene que funcionar : si tengo el nombre de Jose Perez me debería devolver JP, para esto e creado el siguiente código: Code: $nombre = explode(" ", 'Jose Perez');//busco el espacio para saber donde termina el nombre y empieza el apellido y que lo divida en array $contador = count($nombre);//cuento cuantos array se crearon a partir del nombre ingresado if($contador==1){ //realizo una comprobación, si solo existe 1 nombre la segunda letra quedara vacía $lera1 = substr($nombre[0], 0, 1);//extraigo la primera letra de la cadena 0 (Jose = J ) $letra2 = '';//en el caso que no tuviera un apellido dejo vacío la segunda letra }else{//en caso contrario obtendré las dos letras $lera1 = substr($nombre[0], 0, 1);//extraigo la primera letra de la cadena 0 (Jose = J ) $letra2 = substr($nombre[1], 0, 1);//extraigo la primera letra de la cadena 1 (Jose = P ) } echo ($lera1.$letra2);// resultado sería JP Eso se me ocurrió para solucionar este ejercicio pero quería saber si hay alguna forma mas simple de hacerlo.
Te sirve esto? Code: <?php $re = '/(?<=\s|^)./mi'; $str = 'Jose Perez'; preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0); var_dump($matches); ?>
Gracias esta super bueno , y mucho mas sencillo de lo que escribí yo, voy a documentarme mas sobre preg_match_all.