Reemplazar enlaces por URL en PHP

  • Autor Autor MaxS
  • Fecha de inicio Fecha de inicio

MaxS

Gamma
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
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>';
	}
?>
 
Gracias cicklow!, tu aporte me sirve de mucho.

Saludos.