Eliminar enlaces de una cadena en PHP

En alguna ocasión, mostrando un extracto o por cualquier otra razón, a lo mejor necesitáis eliminar los enlaces de una cadena que manejáis en PHP. Para esta labor, podemos usar el siguiente código, que se basa en el uso de una expresión regular:

$cadena = preg_replace('/\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|$!:,.;]*[A-Z0-9+&@#\/%=~_|$]/i', '', $cadena);

Con esto tendríamos la  cadena sin enlaces: HTTP, HTTPS, FTP o FILE, si queréis podéis ampliar la primera parte de la expresión regular para incluir más posibilidades. read more

Leer más » 1 Comentario

Agrupar misma regla CSS para varios elementos

Cuando estás creando reglas CSS, es muy frecuente que diseñes reglas para cada elemento o grupo de elemento definiendo clases. Es correcto agrupar elementos en grupos mediante las clases, sin embargo, también es correcto definir una sola regla CSS para varios identificadores y clases o partes de reglas que son comunes a varias.

Esto es correcto pero es menos usado y conocido y de ahí la entrada de hoy.

¿Por qué conviene hacerlo?

Básicamente por simplidad y velocidad. Velocidad en dos aspectos, por un lado, por tiempo de transmisión (menos tamaño del fichero CSS resultante), por otro lado, por tiempo de interpretación (menos reglas que interpretar y menos reglas sobre las que buscar al renderizar).

¿Cómo se hace?

Probablemente ya lo sepáis pero merece la pena volver a comentar la sintaxis. Tened en cuenta que ciertos framework como jQuery también hacen uso de la misma sintaxis y puede seros útil.

Veamos un ejemplo esclarecedor:

Leer más » 1 Comentario

Registrar y encolar scripts en WordPress

Probablemente, conozcáis el uso de las funciones para registrar estilos y scripts en WordPress. Básicamente hay dos funciones para cada caso, una para registrar y otra para encolar, respectivamente son las siguientes:

Estilos

Scripts

¿Qué es registrar y qué es encolar? Cuando registras un script o un estilo, defines características básicas del mismo, dónde se encuentra el fichero, qué dependencias tiene (imagínate que jQuery UI requiere de jQuery), la versión que es, etc. Metainformación del script o estilo que permite a WordPress “hacerse un esquema” para hacer la mejor combinación posible cuando sean necesario.

Leer más » 1 Comentario

Prevenir enlace duplicado cuando usas add_menu_page en WordPress

Si alguna vez desarrolláis temas o plugins con WordPress, es muy probable que necesitéis manejar los menú del escritorio. En el caso que en lugar de querer poner vuestro panel de opciones en la sección de “Ajustes” queráis hacerlo directamente en vuestra propia sección, manejaréis la función add_menu_page.

Como veis en la referencia y sin entrar en detalles, esta función nos permite crear un menú para luego poder poner nuestras opciones dentro de él. Sin embargo, por defecto, realiza una acción que quizás no sea del todo de vuestro gusto.

¿Cuál? Básicamente queréis un menú que sea: MiPlugin, y dentro de él haya: Nuevo, Editar, Listar, por ejemplo. Para insertar las opciones, usaréis la función add_submenu_page.

¿Qué problema tendréis? El resultado será el siguiente, tras el menú MiPlugin estarán estas opciones: MiPlugin, Nuevo, Editar y Lista. ¿Por qué aparece repetido el título en la primera opción?

Leer más » 1 Comentario

¿Por qué no debemos usar require_once en PHP? ¿Qué soluciones tengo?

Cuando desarrollamos es muy frecuente que necesitemos leer código de otros ficheros, los lenguajes y las tecnología difieren en la forma, pero es algo básico y común a todos ellos (salvo excepciones). En PHP una forma cómoda de hacerlo es con require_once o include_once.

¿Por qué cómoda? Porque incluimos ficheros sin preocuparnos de si ya han sido incluidos. PHP lo hace por nosotros.

¿Qué problema hay? PHP al buscar si han sido incluidos o no, consume una cantidad de recursos y de tiempo de ejecución que siempre que podamos, debemos ahorrárnoslo.

¿Qué soluciones hay frente a este problema? Voy a detallar algunas de ellas, pero seguro que tú conoces alguna más que te funciona.

Usar un framework o un CMS

Si usas un entorno de este tipo, probablemente él te dote de funciones similares en funcionalidad que esquivan este problema. Por ejemplo en WordPress uso mucho get_template_part.

Indicar mediante define si se ha incluido o no

La idea sería algo así:

if (!defined('MiFichero')) {
    require('MiFichero');
    define('MiFicherp', 1);
}

De esta forma, con esta bandera, ya tenemos siempre presentes si está incluido o no (podemos hacer una función con ese código para reutilizarlo).

Leer más » 6 Comentarios

Keep it simple, stupid! Una filosofía aplicable a todos los aspectos de la tecnología

Si eres usuario de Linux o de la tecnología libre en general, no por el uso de la misma sino por la forma de hacer y crear tecnología, eres usuario de software en el que sus directrices más básicas, usan el principio KISS. Esta palabra, que significa beso en inglés, en este caso representa las iniciales de “Keep it simple, stupid!” y es una filosofía en la que se fundamenta el desarrollo de Unix y que sin lugar a dudas podréis usar en vuestros desarrollos.

Keep it simple, stupid!

¿En qué se basa exactamente? En una serie de principios que ponemos a continuación y que os traduzo para que podáis conocer y así, aplicar a vuestros propios desarrollos:

Leer más » 1 Comentario

Acceder al servidor web local desde el emulador de Android

Cuando desarrollas a día de hoy aplicaciones en entornos web, tienes la casi obligación de probarlas sobre dispositivos móviles. Para ver el aspecto, el comportamiento, el feedback, etc. que crean probablemente lo mejor sería tener un dispositivo de cada tipo. Eso es lo ideal si tienes tiempo y medios.

Sin embargo, si te falta alguno de los dos anteriores, lo ideal pasa a ser usar emuladores o si queremos ahorrarnos todavía más tiempo, complementos para Firefox o Chrome que permiten este tipo de visualizaciones.

Emulador Android pruebas web

Leer más » 5 Comentarios

Proyecto Software Libre eMobc – Framework desarrollo apps creado en España para todos

Dada la evolución del mercado cada vez es mas necesario aparecer en Internet, redes sociales o directamente en el propio smartphone del consumidor, por ello hoy os presentamos un proyecto destinado a la creación de aplicaciones móviles y en concreto a facilitar esta tarea a cualquier persona o empresa que desee tener su propia aplicación:

El proyecto eMobc esta trabajando en un framework (Licencia Affero GPLv3) para el desarrollo de aplicaciones móviles nativas multiplataforma, ya sea para Android, IOS, web-app o web-móvil y todo ello utilizando lenguaje XML.

eMobc - Framework desarrollo móvil Android - iOS

El objetivo principal de este proyecto es crear aplicaciones móviles de la forma mas fácil posible por lo que los usuarios que no sepan programar puedan crear su propia aplicación.

Además eMobc cuenta con un panel de control, donde podemos generar el esqueleto de la aplicación, con mas de 20 pantallas distintas, como pueden ser botoneras, formularios, quiz, mapa, fotos… Desde el propio panel de control también podremos modificar el diseño de la aplicación.

Leer más » 2 Comentarios

[Usabilidad] Click sobre label cuando trabajamos con input en desarrollo web

Cuando trabajamos desarrollando interfaces web, al igual que ocurre con cualquier otro diseño de interfaz, una de las labores básica es aumentar la usabilidad. Hay que hacer fácil y natural el funcionamiento.

Si tenemos un formulario, con una lista con botones de tipo radio o checkbox y al lado una serie de etiquetas label como aparece en la imagen:

Lista con input

  • Es incómodo tener que presionar el control…
  • … pudiendo presionar cualquier parte de la etiqueta para que se active el control

Hacer esto a mano, elemento a elemento, además de tedioso no es nada práctico, pero jQuery nos proporciona un método para hacerlo de una sola vez:

Leer más » 5 Comentarios

5 consejos para usar jQuery con WordPress

A día de hoy pocos trabajan directamente con JavaScript para manejar la parte del cliente, se suelen usar frameworks que facilitan el trabajo y sin lugar a dudas, la referencia es jQuery. Cuando desarrollamos temas en WordPress (y plugins), por lo tanto, será bien probable que necesitemos de jQuery. Hay muchas formas de usarlo, pero vamos a explicar una serie de buenos métodos para evitar complicaciones.

Este texto es una traducción, adaptación y mejora del original en inglés: 5 tips for using jQuery with WordPress de Eric Martin.

1. Utiliza wp_enqueue_script()

Cuando manejamos jQuery a secas, sin WordPress, usamos directamente la etiqueta <script> y llamamos a nuestro fichero, ya esté en local o en un CDN. Sin embargo, en WordPress las cosas cambian, aunque pueda funcionar, no debemos hacerlo.

Para ello tenemos una función específica: wp_enqueue_script y podemos unir la carga de jQuery a una acción en concreto. Al igual que esta función existe otra para cargar estilos: wp_enqueue_style.

Leer más » 1 Comentario