Foros del Web » Programando para Internet » PHP »

Convertir nombres a links en una pagina web

Estas en el tema de Convertir nombres a links en una pagina web en el foro de PHP en Foros del Web. Buenas a todos. Mi duda es la siguiente, toda mi pagina web la armo en base a un header y a un footer y el ...
  #1 (permalink)  
Antiguo 11/09/2003, 16:44
Avatar de Jesús  
Fecha de Ingreso: mayo-2001
Mensajes: 23
Antigüedad: 22 años, 11 meses
Puntos: 0
Convertir nombres a links en una pagina web

Buenas a todos.
Mi duda es la siguiente, toda mi pagina web la armo en base a un header y a un footer y el contenido es otra página (3 en 1).
Lo que yo quisiera es que si por ejemplo denro de la pagina yo escribo "foros del web", un script detecte esa frase (o palabra) y en vez de mostrarlo asi, lo haga con etiquetas html de link: <a href>, basicamente los nombres o brases que yo determine los convierta a links.
He visto que eso se puede hacer con texto sacado de una base de datos, es decir informacion mostrada via BD y PHP, pero no sé si es posible modificar un php ya hecho, aumentandole tags a las palabras que se detecten.
Gracias nuevamente
  #2 (permalink)  
Antiguo 12/09/2003, 20:38
Avatar de Jesús  
Fecha de Ingreso: mayo-2001
Mensajes: 23
Antigüedad: 22 años, 11 meses
Puntos: 0
Muchas gracias por las pautas.
Tal vez ayude mas si digo que el html es una pagina web sin formato de texto ni nada (se lo doy con CSS), y es un escrito puro html, tipo
<p>Hola, que tal, me voy a <a href="http://www.forosdelweb.com>los foros del web</a> y más.

el archivo tiene la extensión .php, y la cabecera y el pie de pagina están hecho con include, al estilo de header y footer.
Mi duda seria como almacenar el contenido html del "archivo.php" y poenerme a buscar en él, creo que por ahi iba la respuesta.
Saludos!
  #3 (permalink)  
Antiguo 13/09/2003, 17:44
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pues entonces .. te hace falta usar las funciones del manejo del buffer de PHP.

Código PHP:
<?php

ob_start
();

include(
"cabecera.html"); 
?>

resto de tu HTML comun ...

<?
include ("pie.html");

$html ob_get_contents();
ob_end_clean();

// Y por aquí haces tu proceso a la variable $html .. donde tendrás todo tu HTML en esa variable.

?>
Con la gestión del buffer de salida de PHP (funciones ob_xxx()) .. ya tendrás tu variable disponible para que la trabajes ..

Como es "HTML" lo que tienes en esa variable ..te combien como primer paso aplicar funciones tipo:

strip_tags()

Para quedarte -sólo- con con el "real" contenido de tu pagina (sin todo lo que esté entre < ... > que vendría a ser tus códigos-tag HTML ..)

Con esa variable ya mas "límpia" ahí puedes aplicar el resto de funciones de tratamiento de cadenas para hacer tus busquedas en esa variable (cadena, string).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #4 (permalink)  
Antiguo 13/09/2003, 19:27
Avatar de Jesús  
Fecha de Ingreso: mayo-2001
Mensajes: 23
Antigüedad: 22 años, 11 meses
Puntos: 0
Gracias Cluster, ahora lo intento; una duda técnica,¿ para que sirve manejar el buffer?
Gracias.
  #5 (permalink)  
Antiguo 14/09/2003, 13:58
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pues para eso mismo que necesitas .. para "capturar" la "salida" que estás generando o pasando por PHP (ya que es una página que pre-procesará PHP .php) ... En ese caso .. usando esas funciones de ob_xxx() puedes recoger -antes- de que se entrege tu página al navegador en una variable como el ejemplo que te dí ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 16:20.