Dividir string según tag (Crear un readmore)

2125 visitas 3 respuestas

hola cómo están? Tenía una consulta para la comunidad :P

Pues resulta que tengo en la tabla content dos textos, introtext y fulltext. Necesito hacer principalmente dos cosas

1- Unir introtext y fulltext 2- que me divida el texto de acuerdo a la tag

o sea:

primera parte del texto (introtext + fulltext)

segunda parte del texto (introtext + fulltext)

Lo que quiero es ocultar la segunda parte del texto y que solo me muestre la primera parte

No siempre el introtext es la primera parte y fulltext es la segunda parte, por eso necesito unir ambos y luego dividirlos de acuerdo a

, para que me cree un sistema de readmore.

Gracias :)

por Protegon desde Costa Rica

Registrado desde: 29 Jul 09

Respuestas

0 0

Eso lo puedes hacer mediante PHP con:

<?php function cortar($texto,$final = '...'){ $texto = explode('

',$texto); return $texto[0] . $final; } ?>

por hahahano desde España

Registrado desde: 06 Mar 09
0 0

Buenas,

Tambien lo puedes hacer mediante MySQL, la forma más sencilla sería crear una nueva columna en la misma tabla con el tipo TEXT o BLOB que pueda contener la longitud máxima de las anteriores columnas juntas.

Las consultas serían algo así como...

Introducir en la nueva columna las dos columnas una tras otra, concatenadas

UPDATE table SET nuevaColumna = CONCAT(introtext, fulltext);

Actualizar las columnas con los separadores definidos

UPDATE table SET introtext = SUBSTRING(nuevaColumna, 1, LOCATE('

', client_uac)), fulltext= SUBSTRING(nuevaColumna, LOCATE('' + LENGTH(''), client_uac)); Eliminar la columna temporal creada

ALTER TABLE table DROP COLUMN nuevaColumna;

Realmente hay formas más eficaces para hacerlo, pero puedes probar con eso que es sencillo y ver si sale correctamente, te aconsejo duplicar la tabla para hacer pruebas con las consultas, es posible que tenga algún error en los offsets que te he puesto.

un saludo,

pd. El método de 'hahahano' también es válido, pero puede conllevar una carga innecesaria si tienes páginas que sólo muestran el campo de 'introtext', también podrías eliminar el '<hr' de la tabla y establecerlo directamente en el código una vez quieras 'juntar' (o mostrar) ambos textos.

por the_bard desde España

Registrado desde: 30 Sep 06
0 0

Gracias por la ayuda

por Protegon desde Costa Rica

Registrado desde: 29 Jul 09