2009-09-21 1 views
0

Я храню массив PHP, где key => пары значений - это информация, используемая для создания вкладок пользовательского интерфейса jQuery на веб-сайте.Как удалить html-теги и информацию о сериализации php из результата mysql без php?

строка хранится в базе данных MySQL выглядит следующим образом:

а: 2: {я: 0; а: 2: {я: 1; s: 9: "Info", я: 2; s: 643: "<h2> < сильный > Этот раздел о Foo </сильный > </h2 > < < р > > сильный Lorem Ipsum ...";} я: 1; а: 2: {я: 1; s : 14: «Дополнительная информация»; i: 2; s: 465: «<p> Lorem ipsum ...»;}}

(недействительный сериализованный массив или html, потому что я усекал длинный контент по причинам форматирования)

Я хотел бы разрешить загрузку этого контента в Sphinx (полнотекстовый индекс) для поиска по сайту. В основном Sphinx просто захватывает содержимое базы данных и индексирует то, что находит, в зависимости от параметров конфигурации, которые вы указываете ... Что мне интересно, если есть хороший способ заставить MySQL или Sphinx лишить информацию о сериализации и html теги, чтобы индексировать только обычный текст.

ответ

1

Ваш лучший выбор - это, вероятно, прекратить хранить только PHP-сериализованный формат, добавив версию «обычного текста» наряду с тем, что Sphinx может индексировать. В противном случае другая идея заключалась бы в том, чтобы иметь PHP-скрипт, который сканирует таблицу на регулярной основе и создает версию «обычного текста» вне диапазона с исходным запросом HTTP, который создал записи. С unserialize() и strip_tags() в вашем распоряжении это становится довольно тривиальной проблемой.

+0

Да, это то, о чем я планировал вернуться, когда доберусь до этого момента в этом проекте. CMS, с которой я работаю, делает сохранение альтернативы обычного текста наряду с сериализованной строкой немного боли, но я получу что-то для работы. –

1

Для задачи Html-Таг это в вашем сфинкса-конфигурации: html_strip = 1

link to the manual section of html_strip

Я не нашел способ лишить сериализации-информации из индекса. (Но у меня такая же проблема)

+0

приятная находка, раньше не видела. Я думаю, что нашел способ сохранить альтернативу обычного текста в БД вместе с оригиналом в CMS, который я использую, но это очень хороший совет. –