Foros del Web » Programando para Internet » PHP »

Mayusculas despues de simbolo o caracter con PHP

Estas en el tema de Mayusculas despues de simbolo o caracter con PHP en el foro de PHP en Foros del Web. Bueno pues despues de solucionar mi problema con la capitalización de textos y la cual puden ver el topic completo en el link que les ...
  #1 (permalink)  
Antiguo 26/06/2013, 18:11
 
Fecha de Ingreso: octubre-2012
Mensajes: 17
Antigüedad: 12 años, 2 meses
Puntos: 0
Mayusculas despues de simbolo o caracter con PHP

Bueno pues despues de solucionar mi problema con la capitalización de textos y la cual puden ver el topic completo en el link que les dejo mas abajo me surge otra duda, mi proovedor me entrega su catalogo a través de XML y muchos articulos tienen el simbolo "•" (•) antes del texto, ejemplo:

•FABRICADO EN DURABLE NYLON (Si correcto todo esta en mayusculas)

Lo que he tratado de hacer es poner la primera letra despues del "•" en mayusculas y agregar un espacio despues del simbolo, ejemplo:

• Fabricado en durable nylon

Busque un poco por internet y di con la siguiente solución:

Código PHP:
$strmain='capitalize';
$result substr($strmain01); //result is c
$result1=str_replace($result,'',$strmain);//now your result1 is apitalize
$result2=ucfirst($result1); //now result2 is Apitalize

$finalresult=$result.$result2 ///now your finalresult is cApitalize 
Pero mi script maneja string como las siguientes:

Código PHP:
$desc1 eregi_replace(".*<ficha_tecnica>","",$part[$i]);
//Primero hacemos todas las letras minusculas, y despues hacemos la primera letra mayuscula
$desc1 ucfirst(strtolower($desc1));
//Ahora corremos la funcion para capitalizar cada letra DESPUES de un punto (.)
$desc1 preg_replace_callback('/[.!?].*?\w/'create_function('$matches''return strtoupper($matches[0]);'),$desc1);
$desc1 eregi_replace("</ficha_tecnica>.*","",$desc1); 
Cuando intento implementar el primer codigo con mi segundo codigo de la siguiente manera me arroja como resultado todos los campos con el "•"

Código PHP:
//Descripcion 1
//Definir cadena
if($desc1[1]=="•") {
    
$desc1 eregi_replace(".*<ficha_tecnica>","",$part[$i]);
    
$result substr($strmain01); //result is c
    
$result1 str_replace($result,'',$desc1);//now your result1 is apitalize
    
$result2 ucfirst($result1); //now result2 is Apitalize
    
$finalresult $result.$result2///now your finalresult is cApitalize
    
$desc1 eregi_replace("</ficha_tecnica>.*","",$desc1);
} else {
    
$desc1 eregi_replace(".*<ficha_tecnica>","",$part[$i]);
    
//Primero hacemos todas las letras minusculas, y despues hacemos la primera letra mayuscula
    
$desc1 ucfirst(strtolower($desc1));
    
//Ahora corremos la funcion para capitalizar cada letra DESPUES de un punto (.)
    
$desc1 preg_replace_callback('/[.!?].*?\w/'create_function('$matches''return strtoupper($matches[0]);'),$desc1);
    
$desc1 eregi_replace("</ficha_tecnica>.*","",$desc1);
    } 
Notese que uso IF y ELSE para distinguir que hacer cuando se encuentra el simbolo "•" y que hacer cuendo no se encuentre.

Agradezco me pudiran orientar.

Link del topic anteriror: http://www.forosdelweb.com/f18/capitalizacion-textos-php-1054375/
  #2 (permalink)  
Antiguo 26/06/2013, 19:00
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años, 8 meses
Puntos: 292
Respuesta: Mayusculas despues de simbolo o caracter con PHP

Y no puedes quitar el punto justo antes de "capitalizar" ?

$dato = capitaliza(str_replace('.','', $tu_string));
__________________
Salu2!
  #3 (permalink)  
Antiguo 27/06/2013, 11:52
 
Fecha de Ingreso: octubre-2012
Mensajes: 17
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Mayusculas despues de simbolo o caracter con PHP

Hola "Italico76"

Encontre 3 posibles soluciónes que dejo a continuación:

Código PHP:
<?php        
$strmain 
'•texto';
//$finalresult = wordwrap($strmain, 1, ' ', 1);  
//$finalresult = preg_replace('/^•([a-z])([a-z]+)$/e', '"•" . strtoupper("\\1") . "\\2"', $strmain);
//$finalresult = str_replace('•','', $strmain);
echo $finalresult;
?>
Definitivamente me inclino por la segunda opción solo falta agregarle un espacio despues del punto "•" y quedara todo listo. Si saben como agregarlo a la sintaxis de la segunda solución despues del simbolo se los agradeceria.

Por cierto no puedo retirarlo por estetica ya que los que trabajan en la oficina dicen que se ve mas ordenado.
  #4 (permalink)  
Antiguo 27/06/2013, 12:13
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años, 8 meses
Puntos: 292
Respuesta: Mayusculas despues de simbolo o caracter con PHP

Ok... la que te parezca..... pero para quitar un punto no haria tanta historia
__________________
Salu2!

Etiquetas: mayusculas, simbolo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:16.