Foros del Web » Programando para Internet » PHP »

funcion para seleccionar 1 parrafo de un texto

Estas en el tema de funcion para seleccionar 1 parrafo de un texto en el foro de PHP en Foros del Web. Hola a todos!! Al final he tenido que acudir a vosotros. Siempre he solucionado mis problemas leyendo el faq del foro y también vuestras dudas, ...
  #1 (permalink)  
Antiguo 28/02/2008, 04:20
 
Fecha de Ingreso: enero-2008
Mensajes: 18
Antigüedad: 16 años, 3 meses
Puntos: 0
funcion para seleccionar 1 parrafo de un texto

Hola a todos!!

Al final he tenido que acudir a vosotros. Siempre he solucionado mis problemas leyendo el faq del foro y también vuestras dudas, pero ahora no encuentro la solución, aunque he andado cerca.

Lo que quiero es seleccionar el campo "noticia" de una tabla y mostrarla. Eso funciona correctamente con el siguiente codigo:

function verconsulta() {
echo "<table border=0>\n";
// mostramos los nombres de los campos
for ($i = 0; $i < $this->numcampos(); $i++){
echo "<td><b>".$this->nombrecampo($i)."</b></td>\n";
}
echo "</tr>\n";
// mostrarmos los registros
while ($row = mysql_fetch_row($this->Consulta_ID)) {
echo "<tr> \n";
for ($i = 0; $i < $this->numcampos(); $i++){
echo "<td>".$row[$i]."</td>\n";
}
echo "</tr>\n";
}
echo "</table>";
}

Después llamo a la función :

$conexion = new DB_mysql;
$conexion->conectar("news", "localhost", "usuario", "contraseña");
$conexion->consulta("select noticia from noticias where id_noticia='38' ");
$conexion->verconsulta();

Y sin problemas, visualizo toda la noticia.

En este foro encontré una función llamada parrafin para seleccionar un o algunos parrafos de un texto:

//seleccionamos el primer parrafo de la noticia
function parrafin($string) {
$article = explode("\n", $string);
$parrafo = $article[1];
return( $parrafo );
}

Como puedo crear una función en la que me haga lo mismo que verconsulta() pero añadiéndole esta función para que solo me coja en este caso 1 párrafo? lo he hecho de esta forma y no hay manera:

function verconsulta() {
echo "<table border=0>\n";
// mostramos los nombres de los campos

for ($i = 0; $i < $this->numcampos(); $i++){
echo "<td><b>".$this->nombrecampo($i)."</b></td>\n";
}
echo "</tr>\n";
// mostrarmos los registros
while ($row = mysql_fetch_row($this->Consulta_ID)) {
echo "<tr> \n";
for ($i = 0; $i < $this->numcampos(); $i++){
echo "<td>".parrafin($row[$i])."</td>\n";
}
echo "</tr>\n";
}
echo "</table>";
}

Espero vuestra ayuda... seguro que la solución es muy fácil. El problema es que hasta ahora he trabajado con programación estructurada y aunque con esa forma me sale bien, quiero ponerme las pilas con las funciones, pues me han dicho que php6 no va a permitir programación estructurada y hay que aprender POO por huevos ... .

Muchísimas gracias.
  #2 (permalink)  
Antiguo 28/02/2008, 09:06
Avatar de rogertm
Mod->Cuba
 
Fecha de Ingreso: julio-2005
Ubicación: /home/Cuba/Habana/rogertm/
Mensajes: 2.922
Antigüedad: 18 años, 8 meses
Puntos: 638
Re: funcion para seleccionar 1 parrafo de un texto

hola, creo que lo que necesitas es esto:
Cómo puedo mostrar los parrafos de un texto almacenado en la base de datos?

saludos y suerte
__________________
Friki y Blogger por Cuenta Propia:213
Twenty'em: Theming is Prose
  #3 (permalink)  
Antiguo 29/02/2008, 04:24
 
Fecha de Ingreso: enero-2008
Mensajes: 18
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: funcion para seleccionar 1 parrafo de un texto

Gracias rogertm.

El problema es que como ya he comentado en el post anterior, ya he usado esa función. El tema es que quiero "fusionar" esa función dentro de la otra que menciono arriba.
  #4 (permalink)  
Antiguo 29/02/2008, 09:14
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: funcion para seleccionar 1 parrafo de un texto

¿Porque dices que no hay manera?, ¿que error te da ese código?, ¿Haz probado usar substr?

Saludos.
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 20:36.