Foros del Web » Programando para Internet » PHP »

borrar link en php

Estas en el tema de borrar link en php en el foro de PHP en Foros del Web. hola: tengo varios links de este estilo: <a href="/Club/Players/Player.aspx?playerId=44231943" title="Sergėjus Misingevičius">Sergėjus Misingevičius</a> necesito que solo me quede Sergėjus Misingevičius, es decir eliminar todo el html ...
  #1 (permalink)  
Antiguo 22/02/2009, 21:21
Avatar de destor77  
Fecha de Ingreso: noviembre-2004
Ubicación: Gálvez, Santa Fe, Argentina
Mensajes: 2.654
Antigüedad: 19 años, 5 meses
Puntos: 43
borrar link en php

hola:
tengo varios links de este estilo:
<a href="/Club/Players/Player.aspx?playerId=44231943" title="Sergėjus Misingevičius">Sergėjus Misingevičius</a>

necesito que solo me quede Sergėjus Misingevičius, es decir eliminar todo el html del link. Ya probe con strip_tags pero me deforma todo el estilo de la pagina.

si alguien me puede dar una mano, desde ya muchas gracias
  #2 (permalink)  
Antiguo 22/02/2009, 21:58
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: borrar link en php

¿Talvez con preg_replace?

preg_replace("/<a(.*)>(.*)<\/a>/i", "$2", $texto);
  #3 (permalink)  
Antiguo 23/02/2009, 11:47
Avatar de destor77  
Fecha de Ingreso: noviembre-2004
Ubicación: Gálvez, Santa Fe, Argentina
Mensajes: 2.654
Antigüedad: 19 años, 5 meses
Puntos: 43
Respuesta: borrar link en php

no funciona, cuando pongo esto:
$texto=str_replace("<br>","<br/>",$partido['fulltext']);
$prueba = preg_replace("/<a(.*)>(.*)<\/a>/i", "$2", $texto);
echo $texto;

no me muestra nada, si saco el preg_replace si me muestra el contenido como antes :s
  #4 (permalink)  
Antiguo 23/02/2009, 12:05
 
Fecha de Ingreso: mayo-2007
Mensajes: 49
Antigüedad: 16 años, 10 meses
Puntos: 1
Respuesta: borrar link en php

Prueba con los filtros de PHP5, si es que los tienes disponibles.

Código PHP:
<?php
$enlace 
'<a href="/Club/Players/Player.aspx?playerId=44231943" title="Sergėjus Misingevičius">Sergėjus Misingevičius</a>';
$filtrado filter_var($enlaceFILTER_SANITIZE_STRING);
echo 
$filtrado;
?>

Con eso te debe de funcionar.

http://www.php.net/manual/es/function.filter-var.php

Suerte.
  #5 (permalink)  
Antiguo 23/02/2009, 13:32
Avatar de destor77  
Fecha de Ingreso: noviembre-2004
Ubicación: Gálvez, Santa Fe, Argentina
Mensajes: 2.654
Antigüedad: 19 años, 5 meses
Puntos: 43
Respuesta: borrar link en php

bueno probe como me dijo user86 y funciona en parte, el asunto es que no solo me saca el link sino que tambien me saca los <br/> que tiene el texto :s
  #6 (permalink)  
Antiguo 23/02/2009, 13:48
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: borrar link en php

Cita:
$texto=str_replace("<br>","<br/>",$partido['fulltext']);
$prueba = preg_replace("/<a(.*)>(.*)<\/a>/i", "$2", $texto);
echo $texto;
Esta imprimiendo la variable $texto. Debes imprimir $prueba.

Hice este ejemplo y SI me funciono

Código PHP:
<?php 
$enlace 
'<a href="/Club/Players/Player.aspx?playerId=44231943" title="Sergėjus Misingevičius">Sergėjus Misingevičius</a>'
$prueba preg_replace("/<a(.*)>(.*)<\/a>/i""$2"$enlace);
echo 
$prueba;
?>
  #7 (permalink)  
Antiguo 23/02/2009, 14:44
Avatar de destor77  
Fecha de Ingreso: noviembre-2004
Ubicación: Gálvez, Santa Fe, Argentina
Mensajes: 2.654
Antigüedad: 19 años, 5 meses
Puntos: 43
Respuesta: borrar link en php

Ronruby, nuevamente probe como pusiste y no me muestra nada, a ver si puedo ser mas especifico esta vez:
en $partido['fulltext'] tengo un texto super largo que contiene los links en los nombres de las personas y los saltos de lineas <br/>. Bien?, bueno algunos br estan mal cerrados por eso hago:
$texto=str_replace("<br>","<br/>",$partido['fulltext']);

con eso valido el codigo html que esta mal, si yo despues hago:
$prueba = preg_replace("/<a(.*)>(.*)<\/a>/i", "$2", $texto);
no me muestra nada
y si hago:
$prueba= filter_var($texto, FILTER_SANITIZE_STRING);
me elimina los links pero tambien los <br/>, perdiendo el formato del texto

me explique mejor esta vez?
  #8 (permalink)  
Antiguo 23/02/2009, 14:51
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: borrar link en php

Por eso te dije que no funcionaba porque imprimias la variable equivocada:

Cita:
$texto=str_replace("<br>","<br/>",$partido['fulltext']);
$prueba = preg_replace("/<a(.*)>(.*)<\/a>/i", "$2", $texto);
echo $texto;
Cuando imprimes la variable $texto esta aun contiene el texto con los <a>.

Sino te funciona (talvez tu servidor no tengas las expresiones pcre activadas), trata usando eregi_replace()

Porque yo hice una prueba y SI funciono.
Código PHP:
<?php 
$enlace 
'asdasdsdasd sd sdass dsa  <br /><a href="/Club/Players/Player.aspx?playerId=44231943" title="Sergejus Misingevicius">Sergejus Misingevicius</a> asdsadasdas dsdabsdoibasi is bdiasbdisa disd isadbsidnasi dasdnasidbnasidbasua da<br />'
$prueba preg_replace("/<a(.*)>(.*)<\/a>/i""$2"$enlace);
echo 
$prueba;
?>
Si vas a utilizar eregi_replace, tienes que utilizar \\2 en vez de $2
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:53.