Existen ocasiones de en donde en una base de datos nos encontramos con que tenemos muchísimos artículos con links a otros sitios, y por algún motivo no colocamos el target=”_blank” a ninguno y muchas de sus visitas se pierden por culpa de eso.

Tambien vi algunos casos donde el string contiene muchisimos tags html <a> en donde ninguno contiene  el atributo del target y eso es un gran problema al momento de querer hacer un trabajo bien organizado.

¿Cómo hago para colocar a todos mis artículos de una vez el target blank?

Pues aquí tengo una pequeña solución donde no hace falta editar nada y pasando esta función a todo lo que se encuentre con algún href va a agregar el target blank. Estaremos utilizando la funcion preg_replace que nos trae el mismo php y un poco de regex para que nos funcione correctamente.

 

function blank($string){
    $str = preg_replace("/<a(.*?)>/", "<a$1 target=\"_blank\">", $string);
    return $str;

}

 

Aqui dejo un ejemplo de como hacer funcionar para que todo el string que tengamos pueda agregar un target blank en caso de contener un elemento <a>

 

$texto = 'Hola mundo aqui dejo un ejemplo <a href="#">Link</a>';

echo blank($texto);

 

No recomiendo realizar un update en la base de datos  con esta función ya que si por el contrario no queremos realizar o revertir tendríamos mas problemas que soluciones.

Espero que les haya servido.




Deja un Comentario

Tu dirección de correo no sera publicado. Los campos obligatorios están marcados con *

Nombre *
Correo *
Web