![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| savage |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 135 Регистрация: 13.8.2003 Репутация: -1 Всего: нет |
Всем привет!
Поставили мне задачу перекинуть новости сайта из одной БД в другую. Дело не хитрое, но есть проблема. В БД с исходными новостями хранятся новости в сыром HTML коде, и большая часть скопированная прямо из Word. Получается что новость в два три предложения, раздувается до огромных размеров, + оформление уже не поправить через стили. Может, у кого есть соображения, на тему: как почистить HTML новостей взятых из БД 1 для переправки (в нормальном виде) в БД 2. Хотяб чтоб такого не было:
А так:
P.S.: Новостей много, БД я себе на локальный компьютер скопировал – потому что понятное дело обработка потребует усиленных ресурсов. |
||||
|
|||||
| Sunvas |
|
|||
|
Соль и сахар ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3388 Регистрация: 12.3.2006 Где: Тосно Репутация: 8 Всего: 89 |
Покажи хотя бы от чего очистить, а то "куча пустых тегов" ниочем не говорит.
-------------------- Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их. |
|||
|
||||
| savage |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 135 Регистрация: 13.8.2003 Репутация: -1 Всего: нет |
Ну вот типичный пример:
Такое обычно Word выдает. А проще то так:
|
||||
|
|||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
надо стукнуть очень сильно тех, кто верстал страницы в ворде
самому интересно, предложит ли кто что-нибудь? |
|||
|
||||
| Nigel |
|
|||
|
познаю мир ![]() ![]() Профиль Группа: Участник Сообщений: 515 Регистрация: 20.11.2007 Репутация: 7 Всего: 19 |
Вообще, сразу нужно чистить такие вещи перед вставкой в базу, как делают многие приличные редакторы, например fck. Если уж у тебя получилось, что этого не было сделано, то тебе придется делать следующее:
- пройтись по базе, выбрав записи - удалить вордовские куски - залить все обратно. 1 и 3 пункт не должны составить труда. Насчет второго, ворд любит вставлять свои классы в теги. Как правило, это mso*. Следовательно, тебе и нужно будет это искать. Все тот же фцк для детекта использует следующую регулярку
Ну, а дальше дело техники Это сообщение отредактировал(а) Nigel - 3.10.2008, 20:58 |
|||
|
||||
| password |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 76 Регистрация: 23.9.2008 Где: Украина, Сумы Репутация: нет Всего: 8 |
А если сохранить в файл, открыть в word-e и пересохранить в обычный текстовый файл, тогда уберется все форматирование и останется только один текст.
|
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
||||
|
||||
| savage |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 135 Регистрация: 13.8.2003 Репутация: -1 Всего: нет |
Ну пока да - меня посетила такая же мысль. Но, чего то это не сильно чисто будет. Жалко что нет просто вынесенных функций как у fck. Можно было бы базу выгрузить, прогнать через такие функции, сформировать новую выгрузку и уже ее пихать в новую БД. |
||||
|
|||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
savage, посмотрите в любом wyziwyg-е функцию чистки html'я от Ворда. Мне понравился подход fck-editor'а я даже очень тупо, с сохранением ненужных мне параметров, стырил комплект регулярок для чистки в свою cms'ку. Пришлось, правда адаптировать для моих непосредственных надобностей и написано оно на JavaScript. Но переписать регулярки на PHP несложно...
-------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |