Detecta un vínculo en el foro...
2 seguidores
Hola a todos, Güenos DÍas
¿Cómo hace el foro para detectar que http://www.processblack.com es un vínculo a otra página y mostrarlo como tal?
con ASP a ser posible... se me ocurre hacer un replace o algo así pero no se que reemplazar...
GRASIAS!
black
cojona! :) me he confundido de canal... alguien lo puede mover? :oops:
esto estaría mejor en Programación Servidor, no? :)
Usuario desconocido
Hecho ;)
black
gracias wences :)
Pero hago un nuevo llamamiento al foro... alquien lo sabe? :)
xoan
esto funciona mas o menos, ya que si el enlace se encuentra justo antes de un salto de linea, no lo reemplaza. no se muy bien por que, ya que el \s creia que buscaba la coincidencia con cualquier caracter de espacio en blanco. pero bueno, si tu controlas un poco mas las RegExp, quiza lo puedas arreglar.
<code><?
funcion cambiaEtiquetas($texto) {
$busca[0] = "/http:\/\/(.+?)[\s]/i";
$reemplaza[0] = "<a href=\"http://\\1\" target=\"_blank\">http://\\1</a> ";
$texto = @preg_replace($busca, $reemplaza, $texto);
return $texto;
}
?></code>
esta hecho de forma <em>intuitiva</em>, por eso digo que se podra perfeccionar el patron, incluso a lo mejor no esta ni siquiera bien formulada la sintaxis, pero funciona en la mayor parte de los casos ;)
black
eso es php no? yo nocesito algo similar pero para ASP...
Mi pregunta es... sé que puedo dividir toda la cadena y buscar "www" o ".com" para hacer un replace, pero hacer una comprobación así no es muy pesado?
no sé... Gracias de todos modos. Intentaré traducir algo similar para asp...
xoan
tambien lo puedes hacer explotando todas las palabras, recorriendolas con un bucle y viendo si alguna de ellas empieza por el patron http://; si coincide con la busqueda, la reemplazas por la etiqueta correspondiente.[/code]
xoan
ups! no me habia dado cuenta de que lo pedias en ASP... yo hay si que no puedo ayudarte; de todas formas, lo que acabo de escribir a lo mejor te sirve.
supongo de en ASP tambien se podran utilizar las RegExp de Perl, no? en tal caso, el patron a buscar seria http://, yo lo veo asi, ya que si omites el http://, el enlace seria interno; seria algo asi (en PHP):
<code><?
function cambiaEtiquetas($texto) {
$palabras = explode(" ", $texto);
for ($i = 0; $i < count($palabras); $i++) {
if (ereg("/^http:\/\//i", $palabras[$i])) {
$palabras[$i] = "<a href=\"" . $palabras[$i] . "\">" . strtoupper($palabras[$i]) . "</a>";
}
}
$texto = implode(" ", $palabras);
return $texto;
}
?></code>
el patron no lo he probado, asi que a lo mejor hay que cambiarle alguna cosilla. espero que te sirva y lo puedas pasar a ASP.
black
creo que lo pillo... ahora no puedo mirarlo, pero lo haré... Gracias por tu ayuda!