cómo quitar las etiquetas HTML y PHP info serialización del resultado de MySQL sin php?

StackOverflow https://stackoverflow.com/questions/1455647

  •  12-09-2019
  •  | 
  •  

Pregunta

Estoy almacenar una matriz PHP donde pares de claves => valor son información utilizada para construir pestañas jQuery UI en un sitio web.

La cadena almacenada en la base de datos MySQL se ve así:

a: 2: {i: 0; A: 2: {i: 1; s: 9: "Info"; i: 2; s: 643: "

Esta sección es sobre foo

Lorem ipsum ... ";} i: 1; a: 2: {i: 1; s: 14:" Más Información "; i: 2; s: 465 : "

Lorem ipsum ...";}}

(no una matriz serializada válido o html porque truncada el contenido larga por razones de formato)

Me gustaría permitir que este contenido sea alimentado en Sphinx (texto completo paso a paso) para fines de búsqueda del sitio. Básicamente Sphinx simplemente agarra el contenido de la base de datos y los índices de lo que encuentra, con sujeción a las opciones de configuración que se especifican ... Lo que me pregunto es si hay una buena manera de conseguir ya sea MySQL o Sphinx que se deben eliminar la información de serialización y html etiquetas de modo que sólo el texto plano se indexan.

¿Fue útil?

Solución

Su mejor apuesta es probablemente para detener el almacenamiento de solo el formato PHP serializado, añadiendo una versión 'texto plano', junto con la esfinge que puede indexar. De no ser así, otra idea sería tener un script PHP que arrastra la mesa sobre una base regular y crea la versión 'texto plano' fuera de banda con la petición HTTP original que creó los registros. Con unserialize () y strip_tags () a su disposición, esto se convierte en un problema bastante trivial.

Otros consejos

Para el problema de HTML-Tag poner esto en su esfinge-config: html_strip = 1

enlace a la sección del manual de html_strip

No he encontrado una manera de despojar a la serialización-información del índice. (Pero estoy teniendo el mismo problema)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top