Я имел ввиду, что мне нужно заменит ВСЕ строи, которые содержат font= КРОМЕ тех, где font=white
Меняется все не в цикле, а стандартным preg_replace.
Просто таким образом из говнокода индусов ворд-микрософта генерируется нормальный HTML.
font= заменяю на style=", но проблема в том, что бэкграунд и в некоторых местах шрифт выделены БЕЛЫМ цветом (в ворде так многие ТП прячут текст (белый на белом) или поправляют выделенное бэкграундом (вместо прозрачного ставят белый фон). Так вот ТАКИЕ фонты и бэки сохранять не надо.
Потому и говорю - мне нужно вариант регулярки, в которым будут отлавливаться ВСЕ сочетания font=... и.т.д., кроме тех, в которых font=white
По этой причине и не могу отдельно высеиватьпрег-матчем, так как white может встречаться и в текста, а вот font='white' я затем удаляю вместе с ненужными спанами.
Просто выражение ^(white)*? не срабатывает, вроде. Множно, конечно, заболванить ^[w]*? но не то... (Добавление)
Кстати, такой вопрос уже был: http://www.php.su/forum/topic.ph...4&topic=2001
Но ответы странно-кривые. (Добавление)
Поскрипев мозгами и почитав нашел ответ в той теме:
1. Имхо расширение .css получать через substr, так как могут подсунуть что то типа vasia.css.txt.php и будет веселье.
2. Если есть $css = $_GET[style]; то зачем потом echo $_GET[style]; ?
Ну почему же, если "сэр знает толк в извращениях", то создаем на главной странице аякс запрос к файлу, который будет проверять время и если очередные сутки прошли, создавать письмо и отправлять его, запоминая новое время, когда надо сработать.
Ни крона, ни планировщика, но надо посетителей. Ну или самому зайти на эту страницу, если не приходит (т.е. никто не зашел).
В былую давность я так делал, но вместо аякса делал скрытый фрейм, куда запрашивал такой вот файл-создатель-отчета (в фрейм ничего не выводилось вообще, все сразу уходило мне на мыло).
Берет на вход HTML файл и на выходе дает doc-файл, который открывается фактически везде.
Хотя на самом деле сугубо индусская работа - просто и без наворотов.
Учитывая, что там для скачивания нужна регистрация, кладу в аттач файл и пример - все вместе - чуть больше 6 килобайт (все эз-из, регистрация - требование файлопомойки).
Ну или на самом деле - хранить xml с инфой из шаблона, прегреплейсом заменить нужное и запаковать в зип, переименовать в docx и готово - получишь docx файл. И не надо генерировать через такой класс. Коряво, зато просто.
Посмотри то, что под спойлером. Как раз в самом низу там такой вариант - с колором.
Не забывай, что этот спан, закрывающий спан с колором - далеко не последний, их там еще туева хуча. Индусы, чо... (Добавление)
Я, конечно, могу поступить иначе - не удалять полностью теги span, а просто вычистить их, превратив в <span> </span>, и только с цветом оставить, модифицировав их в <span style='font-color: red'>
Пойми, сервер отрабатывает php 1 раз, отдает его тебе (клиенту) и больше никакие 5 минут его не заботят. Он вообще не отдаст НИЧЕГО, пока не отработает весь php-файл.
Поэтому тебе надо именно джаваскриптом делать запросы к другому файлу, который в ответ будет возвращать новый анекдот.
Это сожрет до последнего спана, к сожалению, индусы столько спанов забодяжили, что там текст идет сплошняком.
Нужно именно найти, какой из /спанов закрывает тот, что с color:
style=3D'font:7.0pt "Times New Roman"'> =
</span></span></span><![endif]><span
style=3D'color:red'>
После злобной очистки текст очищается напрочь и из 400кб такого вот творения индусов из Мелкомягких получается практически не измененный 75кб документ.
Все бы гуд, но прроблема в том, что ЦВЕТ шрифта также засунут в <span> и при зачистке удаляется вместе с прочей ненужной разметкой мелкомягких.
Отсюда ВНИМАНИЕ!!! ( ) вопрос:
Есть такой вариант (выстроено для облегчения понимания):
На этой странице в опере все прекрасно выбирается и копируется.
Вообще то вопрос такой уже не раз поднимался, против желающего сдернуть защиты нет - на худой конец он сфоткает экран компа и тем же файнридером все "перенаберет".