Short Tips

Primera letra en mayúsculas

Si queremos que cada palabra de una frase esté en mayúsculas, podemos usar la función de PHP ucwords(), que se encarga de que todas las primeras letras de cada palabra esten en mayúscula: 

$nombrePaciente = ARNAUT REYMONDT BUHrkall;
echo (ucwords($nombrePaciente)); //ARNAUT REYMONDT BUHrkall
echo (ucwords(strtolower($nombrePaciente))); //Arnaut Reymondt Buhrkall

Categorias: 

Modificar título de bibliografia en latex

Cuando insertamos referencia bibliográficas en un documento Latex mediante el comando \bibliography{}, el propio motor de Latex se encarga de añadir el título de la sección donde aparecerán las referencias, usando el idioma en que se ha definido el documento.

Es posible modificar el texto de esa sección, redefiniendo el comando \refname:

\renewcommand{\refname}{Este es el nuevo título de la bibliografia!!} 

o simplemente eliminar el título del apartado:

\renewcommand{\refname}{Este es el nuevo título de la bibliografia!!} 

\vspace{1cm}

 

En nuestro caso, queríamos que el título de la bibliografía pasara a ser el título de una sección (por temas de estilo predefinidos del documento). Lo que no permite Latex es definir directamente una section dentro de la redefinición del command, es decir:

\renewcommand{\refname}{\subsection*{Bibliografía}} 

Entonces la solución (correcta desde el punto de vista visual, aunque no conceptual) ha sido, primero eliminar el título por defecto del bloque bibliografía, escribir un nuevo título con el estilo que nos conviene, y reajustar espacio:

\renewcommand{\refname}{} 

\subsection*{Bibliografía} 

\vspace*{-1cm}

 

Categorias: 

from_unixtime() con timestamps negativos

La función FROM_UNIXTIME() de MySQL es la que nos permite convertir fechas almacenadas como TIMESTAMP a formato DATE.

Pero a la hora de usarla hay que tener en cuenta una limitación importante de esta, y es que esta función no acepta timestamps negativos, es decir, representaciones de fechas inferiores al año 1970. Por lo que si hacemos esto, nos devolverá NULL:

SELECT FROM_UNIXTIME(-147402000)

NULL

Una solución para los casos en que las fechas pueden ser timestamps negativos, es obtener la fecha no usando directamente la FROM_UNIXTIME(), si no con la función DATE_ADD(), sumando al timestamp 0, el intervalo de segundos que coincide con nuestro timestamp. De esa forma, tanto si el timestamp es positivo como si es negativo, obtendremos siempre la fecha correctamente:

SELECT DATE_ADD(FROM_UNIXTIME(0), INTERVAL -147402000 SECOND)

1965-05-01 00:00:00

 

Categorias: 

Sustituyendo patrones de texto

Tenemos esta columna con estos valores: 

[1] "disorderType=1q21.1%20susceptibility%20locus%20for%20Thrombocytopenia-Abs...                 
[2] "disorderType=1p36%20microdeletion%20syndrome"                                                                                 
[3] "disorderType=1q21.1%20recurrent%20microdeletion%20(susceptility%20locus%2...              
[4] "disorderType=1q21.1%20recurrent%20microduplication%20(possible%20suscepti...
[5] "disorderType=WAGR%2011p13%20deletion%20syndrome"                                                                              
[6] "disorderType=Potocki-Shaffer%20syndrome"                                                                                      
[7] "disorderType=12q14%20microdeletion%20syndrome"                                                                                
[8] "disorderType=Prader-Willi%20syndrome%20(Type%201)"                                                                            
[9] "disorderType=Angelman%20syndrome%20(Type%201)"                                                                                
[10] "disorderType=Prader-Willi%20Syndrome%20(Type%202)" 

Queremos dejar el nombre del síndrome sin el prefijo disorderType, y quitar los "%20" para que queden espacios limpios.
Usaremos gsub() para hacer sustituciones. Le pasamos tres parámetros, el primer es el patrón a buscar, el segundo el patrón por el que sustituiremos el patron encontrado, y el tercero, la variable donde aplicar estas sustituciones. 

Procedemos primero a eliminar el prefijo:

> decipherDisorders$disorder <- gsub("disorderType=*","",decipherDisorders$disorder)
[1] "1q21.1%20susceptibility%20locus%20for%20Thrombocytopenia-Absent%20Radius%...                     
[2] "1p36%20microdeletion%20syndrome"                                                                                 
[3] "1q21.1%20recurrent%20microdeletion%20(susceptility%20locus%20for%20neurod...              
[4] "1q21.1%20recurrent%20microduplication%20(possible%20susceptiblity%20locus...
[5] "WAGR%2011p13%20deletion%20syndrome"                                                                              
[6] "Potocki-Shaffer%20syndrome"                                                                                      
[7] "12q14%20microdeletion%20syndrome"                                                                                
[8] "Prader-Willi%20syndrome%20(Type%201)"                                                                            
[9] "Angelman%20syndrome%20(Type%201)"                                                                                
[10] "Prader-Willi%20Syndrome%20(Type%202)"        

Y despues a sustituir los %20 por espacios en blanco:

> decipherDisorders$disorder <- gsub("*%20*"," ",decipherDisorders$disorder)
[1] "1q21.1 susceptibility locus for Thrombocytopenia-Absent Radius (TAR) synd...                   
[2] "1p36 microdeletion syndrome"                                                                     
[3] "1q21.1 recurrent microdeletion (susceptility locus for neurodevelopmental...          
[4] "1q21.1 recurrent microduplication (possible susceptiblity locus for neuro...
[5] "WAGR 11p13 deletion syndrome"                                                                    
[6] "Potocki-Shaffer syndrome"                                                                        
[7] "12q14 microdeletion syndrome"                                                                    
[8] "Prader-Willi syndrome (Type 1)"                                                                  
[9] "Angelman syndrome (Type 1)"                                                                      
[10] "Prader-Willi Syndrome (Type 2)"  

Categorias: 

Saltos de línea con system() de PHP

Cuando queremos ejecutar algun comando del sistema desde PHP, usamos la función system().

Cuando queremos mostrar la salida del comando ejecutado, vemos que tenemos problemas con el formato. Entre otras cosas, se come los saltos de línea, por lo que algo tan simple como un ls, devuelve unos resultados imposibles de leer.

 

Una forma de ejecutar el comando y obtener una salida que visualicemos con los saltos de línea correctos desde PHP es hacerlo usando exec, y imprimiendo desde un array:

exec("tail -20 /var/www/arrays/log/cron.log", $log);
foreach($log as $out)
   echo $out."<br/>";

 

Categorias: 

Páginas

Últimos workarounds

Últimos Short Tips

Puedes encontrarme en

Sites Relacionados