Как вырезать ненужный текст

shiko

Guest
Как вырезать ненужный текст

Храню новости в базе в html виде. У каждой новости есть картинка (или несколько)
вместе с подписью к ней, т.е. получается что-то типа этого:
<table>
<tr>
<td>
<img ...>
</td>
<td rowspan=2>
...текст новости...
</td>
</tr>
<tr>
<td>
...подпись к картинке...
</td>
</tr>
</table>
При выводе анонса новости вырезаю все html-теги и вывожу, скажем, n первых слов.
Так вот, при этом в анонсе оказываютя подписи к картинкам, иногда даже в начале.
Подскажите, как вырезать эти подписи??
 

Demiurg

Guest
В таком виде хранить невости не стоит
 

gromitus

Новичок
надо хранить новости в девственно чистом виде просто так или в xml (это для извращенцев)
 

Фанат

oncle terrible
Команда форума
а по-моему, нормальный формат для хранения новостей.
 

gromitus

Новичок
Фанат, а если вдруг захочется изменить дизайн?
__
Если бы я делал бы, я бы хранил всё просто в бд чистым текстом, при выводе добавлял бы дизайн + генерировал rss + кешировал для того, что бы быстрей грузилось.
 

Dimonuch

Guest
При выводе анонса новости вырезаю все html-теги и вывожу, скажем, n первых слов.
Так вот, при этом в анонсе оказываютя подписи к картинкам
Подскажите, как вырезать эти подписи??
значит так вырезаешь. Подписи к картинкам это что? параметр alt у тега img? В примере нету никаких подписей.

может strip_tags() поможет?

только ведь Demiurg прав ...
 

Фанат

oncle terrible
Команда форума
я не пойму - каким местом вы вопросы читаете?
подписи к картинкам - это ТЕКСТ МЕЖДУ ТЕГАМИ.
strip_tags ОН И ИСПОЛЬЗУЕТ
и именно после использования подписи сливаются с текстом.
 

Screjet

Новичок
Регулярным выражением (если все теги новостей типичные)
 

shiko

Guest
gromitus
Фанат, а если вдруг захочется изменить дизайн?
Я не храню в новости дизайн. Html новости - это просто таблица (оболочка), которая объединяет вместе саму новость и ОТНОСЯЩИЕСЯ К НЕЙ картинки (никаких <html>,<header>,и <body> тегов там нет). И потом вставляй эту таблицу в любое место дизайна. Gromitus, ты часто двигаешь картинки в самой новости вперед-назад?? Я, например, никогда.

А добавлять картинки вместе с подписями к чистому тексту, по-моему, как раз-таки ограничение. Ведь алгоритм-то добавления для всех новостей один и тот же.

Dimonuch
может strip_tags() поможет?
Фанат прав, мешает не то, что в тегах, а то, что между ними. Да и alt вроде бы вырезается вместе с тегом.

Screjet

Ты предлагаешь вырезать то, что находится между <td> и </td>?? Тогда ведь и новость вырежется.

А если сделать так: хранить две версии, html и чистую (надеюсь, это будет не коряво, если очень нужно). А чистую делать так: эксплойдом создать массив, передав ему в качестве разделителя <td>. Потом из каждого члена массива вырезать все теги и проверить - если количество слов больше определенного значения - значит новость, меньше - подпись.
 

Фанат

oncle terrible
Команда форума
Тогда уж проще хранить не две новости, а новость и человеческую аннотацию, забитую руками на этапе ввода новости - как все нормальные люди делают.

А скрежет предлагает вырезать не между тд, а только там между, которое идет за имг срц
 

shiko

Guest
А как эта человеческая аннотация выглядит??
Можно на примере??
 

jonjonson

Guest
shiko, это зависит от автора поста, а не php программиста :)
 
Сверху