Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Problema al cortar cadena de caracteres

Estas en el tema de Problema al cortar cadena de caracteres en el foro de PHP en Foros del Web. Señores, tengo un problema estoy con mis funciones de php que trae de una bd una cadena de caracteres, al momento de traerlo me surge ...
  #1 (permalink)  
Antiguo 10/12/2013, 14:42
 
Fecha de Ingreso: noviembre-2013
Mensajes: 78
Antigüedad: 11 años
Puntos: 4
Problema al cortar cadena de caracteres

Señores, tengo un problema estoy con mis funciones de php que trae de una bd una cadena de caracteres, al momento de traerlo me surge un problema, algunos "artículos" tienen contenido html dentro y cuando se corta a mitad de código html la información se muestra errónea, por ejemplo si es un link o un id este me muestra el contenido en bruto (por decirlo de alguna manera), hay alguna función que me ignore el código html cuando traigo la información desde la bd ???
para cortar las cadenas ocupo:

Código PHP:
substr($rows['strContenido'],300); 
hay alguna otra función ???
  #2 (permalink)  
Antiguo 10/12/2013, 20:49
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: Problema al cortar cadena de caracteres

Creo que tendrás que trabajar esa cadena usando DOM, en alguna de sus variantes, como simpleXML
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 11/12/2013, 09:26
 
Fecha de Ingreso: noviembre-2013
Mensajes: 78
Antigüedad: 11 años
Puntos: 4
Respuesta: Problema al cortar cadena de caracteres

Cita:
Iniciado por Triby Ver Mensaje
Creo que tendrás que trabajar esa cadena usando DOM, en alguna de sus variantes, como [URL="http://php.net/manual/es/book.simplexml.php"]simpleXML[/URL]
mmm parece qeu no se entendio .. yo traigo el siguiente codigo de una bd :
Código PHP:
<p>Los alumnos de 4º básico A a cargo de la profesora Oriana Carrizo y 6º básico B a cargo de la profesora Rosa Báez &nbsp;visitan Kidzania el 14 De Noviembre.</p
por ejemplo, ahora ese texto lo tengo que reducir ya que no quiero que aparesca el texto entero para eso ocupo
Código PHP:
(substr($rows['strContenido'],300
el problema surge cuando si me corta la cadena en por ejemplo </p>
y me queda </

el codigo se me desarma ya que el <p> no esta completo.

necesito que me ignore las instrucciones de html cuando me lea el contenido o algo que no me corte en ninguna etiqueta html.
  #4 (permalink)  
Antiguo 11/12/2013, 09:35
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 13 años, 2 meses
Puntos: 397
Respuesta: Problema al cortar cadena de caracteres

Puedes optar por strip_tags

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #5 (permalink)  
Antiguo 11/12/2013, 10:07
 
Fecha de Ingreso: noviembre-2013
Mensajes: 78
Antigüedad: 11 años
Puntos: 4
Respuesta: Problema al cortar cadena de caracteres

Cita:
Iniciado por jonni09lo Ver Mensaje
Puedes optar por [URL="http://php.net/manual/es/function.strip-tags.php"]strip_tags [/URL]

Saludos
si lo pense, el problema es que pierde el formato, es la solucion parche que le di por el momento, pero el strip_tags como te digo, hace que pierda todo el formato :/

se que es rebuscado pero necesito alguna solucion xDDD
  #6 (permalink)  
Antiguo 13/12/2013, 09:13
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 13 años, 2 meses
Puntos: 397
Respuesta: Problema al cortar cadena de caracteres

A ver eso si fué bastante curioso. Puedes postear un ejemplo de los datos que recibes? si solo es

Código HTML:
Ver original
  1. <p>Content</p>

Solo debes de usar strip_tags y volver a añadir la etiqueta

Código PHP:
Ver original
  1. $data = substr( strip_tags($rows['strContenido']),0 , 300);
  2.  
  3. $data = "<p>{$data}</p>";

En caso de que no sea así te tocará tirar por expresiones regulares. Así que sería bueno que muestres que quieres lograr y con que datos

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.

Etiquetas: cadena, caracteres, cortar, html
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 22:16.