Reemplazar enlaces por URL en PHP

MaxS Seguir

Gamma
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Desde
11 Oct 2010
Mensajes
481
Hola amigos, intento crear una función,pero necesito que me puedan echar una mano :)

PHP:
function reemplazar_href($cadena){
			$reemplaza = array(
				"/(?<=href=(\"|'))[^\"']+(?=(\"|'))/" => 'http://"nueva_url"',
			);
			$cadena = preg_replace(array_keys($reemplaza), $reemplaza, $cadena);
			return $cadena;
		}
Esta función consigue extraer el href de las url del contenido y lo reemplaza por uno nuevo.
Lo que quiero lograr es poder consegui el href de las url del contenido, encriptarlas con base64 encode.

Alguna idea amigos? :)
 

Cicklow

Admin
Dseda
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Suscripción a IA
Desde
30 May 2011
Mensajes
1.102
Hola amigos, intento crear una función,pero necesito que me puedan echar una mano :)

PHP:
function reemplazar_href($cadena){
			$reemplaza = array(
				"/(?<=href=(\"|'))[^\"']+(?=(\"|'))/" => 'http://"nueva_url"',
			);
			$cadena = preg_replace(array_keys($reemplaza), $reemplaza, $cadena);
			return $cadena;
		}
Esta función consigue extraer el href de las url del contenido y lo reemplaza por uno nuevo.
Lo que quiero lograr es poder consegui el href de las url del contenido, encriptarlas con base64 encode.

Alguna idea amigos? :)

justo tengo esa funcion en un plugin que convierte los links externos para colocarle un acortador XD
PHP:
	function ccw_post($texto){
		return preg_replace_callback('#href="([^"]*)"#is', 'my_urlencode', $texto);
	}

	function my_urlencode($a){
			return 'href="http://nuevaurl.com/?go=' . urlencode($a[1]).'" target="_blank"';
	}

O si quieres el plugin completo:
PHP:
<?php
/*
Plugin Name: Links 2 dinero
Plugin URI: http://www.cicklow.com/
Description: Convierte los links externos dinero :).
Version: 0.1 Pajarraco
Author: Cicklow
Author URI: http://www.cicklow.com/
*/

	$_SITIOW = parse_url(home_url());

	function ccw_post($POST){
		return preg_replace_callback('#href="([^"]*)"#is', 'my_urlencode', $POST);
	}

	function my_urlencode($a){
		global $post,$_SITIOW;
		if (!get_post_meta($post->ID, "no_URL", true)) {
			if(stripos($a[1],$_SITIOW['host'])===false && get_option('_l2d_url')!="" && stripos($a[1],'javascript')===false){
				return 'href="'.get_option('_l2d_url') . urlencode($a[1]).'" pepe="'.$_SITIOW['host'].'" target="_blank"';
			}
		}
		return 'href="'.$a[1].'"';
	}

	add_filter('the_content', 'ccw_post');
	add_filter('the_excerpt', 'ccw_post');

	add_action( 'admin_menu', '_l2d_menu' );

	function _l2d_menu() {
		add_options_page( 'Opciones de Links', 'Editar L2D', 'manage_options', '_l2d_SHEEP', '_l2d_options' );
	}

	function _l2d_options() {
		if ( !current_user_can( 'manage_options' ) )  {
			wp_die( __( 'You do not have sufficient permissions to access this page.' ) );
		}

		if(get_option('minimal_agregado')!="5"){
			add_option('_l2d_agregado', '5');
			add_option('_l2d_url', '');
		}

		echo '<div class="wrap">';
		if($_POST['send']!=""){
			update_option('_l2d_url',$_POST['url']);
			echo '<p><font color="orange"><b>Opciones guardadas con &eacute;xito</b></font></p>';
		}

		echo '<form action="" method="POST"><table border="0">
		<tr><td valign="top">URL Acortador:</td><td><input type="text" name="url" style="width:400px;" value="'.get_option('_l2d_url').'"><br/><font size="1">Ejemplo: http://url.ly/go.php?url=</font></td></tr>
		<tr><td valign="top" colspan="2"><input type="submit" name="send"></td></tr>
		</table></form><br/>
		Usar un campo personalizado <b>no_URL</b> para que el plugin no convierta los links!';
		echo '</div>';
	}
?>
 

MaxS

Gamma
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Desde
11 Oct 2010
Mensajes
481
Gracias cicklow!, tu aporte me sirve de mucho.

Saludos.
 
Arriba