La función anterior era bastante fea, y como me llegan notificaciones de que a varias personas les resulta útil, publico una actualización mas prolija.
Esta funcion lo que hace es pasar a mayuscula la primer letra de cada palabra, dejando en minuscula el resto, pero teniendo en cuenta que si una palabra es un articulo del lenguaje, por ej: "a", "la", "los", etc debe permanecer en minúsculas, a exepcion de que sea la primer palabra de una frase, en ese caso debe tener la primer letra en mayúscula.
Código PHP:
Ver original
<?php function Capitalizar_Semantica($text) { // Articulos del lenguaje, no llevan mayusculas a menos que esten luego de un signo de puntuacion. $articulos = array(' a',' al',' de',' del',' lo',' el',' la',' los',' las',' un',' una',' unos',' unas'); // Signos de puntucacion, despues de uno de estos va mayuscula. // Identificar cada signo de puntucion. return $text; }
Los comentarios que siguen a continuación, fueron hechos sobre la función original, muchas de las sugerencias hechas están ya implementadas en esta nueva función.
Saludos.