El equipo de desarrollo de PHP se complace en anunciar la disponibilidad inmediata de PHP 5.2.13. Este lanzamiento se centra en mejorar la estabilidad de la rama 5.2.x PHP con más de 40 correcciones de errores, algunos de los cuales están relacionados con la seguridad.
Todos los usuarios de PHP 5.2, se recomienda que actualice a esta nueva versión.
Además se encuentra disponible el registro de todos los cambios y mejoras realizado.
Vía: php.net
El ranking de Alexa es uno de los más utilizado a la hora de vender publicidad. Dispone de un API que permite obtener el ranking de una web, por lo que podemos hacer una llamada y obtener los datos para poder mostrarlos en nuestra web.
class AlexaRank {
public function getRequestUri($domain) {
return 'http://data.alexa.com/data?cli=10&dat=s&url=' . $domain;
}
public function parse( $httpResponse ) {
preg_match( '#<popularity url="(.*?)" text="([0-9]+){1,}">#si', $httpResponse, $p );
$res = ( $p[2] ) ? number_format( intval($p[2]) ):0;
return str_replace(',', '', $res);
}
}
Vía: Php Class to Retrieve Alexa Rank
Si quieres aprovechar el visualizador de Google Docs, y cargar tus propios PDF, alojados en tu servidor, sin tener que subirlos a Google Docs, puedes hacerlo creando un shortcode que use esta funcionalidad.
Para ello solo tienes que hacer lo siguiente:
- Añade este código al archivo functions.php de tu tema activo:
function pdflink($attr, $content) {
return '<a class="pdf" href="http://docs.google.com/viewer?url=' . $attr['href'] . '">'.$content.'</a>';
}
add_shortcode('pdf', 'pdflink');
- Usa el shortcode recién creado para cargar tus pdf de este modo:
[pdf href="http://tusitio.com/documentos/midocumento.pdf"]Enlace directo al PDF[/pdf]
Para filtrar las etiquetas html, se puede emplear la función str_replace.
Cuando el usuario introduzca < o >, estas se convierten a sus respectivos html: < y >.
Ejemplo:
<?php
function filtro( $texto ){
$html = array("<", ">");
$filtrado = array("<", ">");
$final = str_replace($html, $filtrado, $texto);
return $final;
}
?>
Alternativa: Funciones de cadena en PHP: strip_tags
Cada vez que se define una entrada específica sea como privada o protegida por contraseña, WordPress agrega automáticamente “privado” o “protegida” al título de la entrada. Para eliminarlo, solo debe agregar el siguiente código al archivo functions.php:
function the_title_trim($title) {
$title = attribute_escape($title);
$findthese = array(
'#Protected:#',
'#Private:#'
);
$replacewith = array(
'', // What to replace "Protected:" with
'' // What to replace "Private:" with
);
$title = preg_replace($findthese, $replacewith, $title);
return $title;
}
add_filter('the_title', 'the_title_trim');
Fuente: wprecipes
Estás son algunas funciones de string que son poco comunes para los que comienzan en PHP.
Leer más »
Uno de los principales inconvenientes de CodeIgniter es, en parte, visual en la dirección URL. Solemos tener nuestros programas con http://localhost/index.php/controlador/funcion y seguramente quedaría mucho mejor algo tipo: http://localhost/controlador/funcion, ¿verdad? Pues bien, para hacer esto necesitaremos usar Apache y el modulo mod_rewrite.
Leer más »
Facebook Connect es una API de FB que nos permite usar nuestra cuenta de FB en otras web.
El tutorial nos mostrará los siguientes puntos:
- Crear una aplicación en Facebook
- Copiar en tu sitio el fichero xd_receiver.htm
- Descargar la API PHP de FB en tu web
- Modificar tu tabla de usuarios
- Crear una página para loguearse con Facebook Connect
- Enlazar a fbclogin.php desde tu login
- Otros puntos a seguir
Barattalo | Facebook Connect Tutorial
Agregar el siguiente código al archivo functions.php de tú theme.
function replace_uploaded_image($image_data) {
// if there is no large image : return
if (!isset($image_data['sizes']['large'])) return $image_data;
// paths to the uploaded image and the large image
$upload_dir = wp_upload_dir();
$uploaded_image_location = $upload_dir['basedir'] . '/' .$image_data['file'];
$large_image_location = $upload_dir['path'] . '/'.$image_data['sizes']['large']['file'];
// delete the uploaded image
unlink($uploaded_image_location);
// rename the large image
rename($large_image_location,$uploaded_image_location);
// update image metadata and return them
$image_data['width'] = $image_data['sizes']['large']['width'];
$image_data['height'] = $image_data['sizes']['large']['height'];
unset($image_data['sizes']['large']);
return $image_data;
}
add_filter('wp_generate_attachment_metadata','replace_uploaded_image');