Уточни алгоритм.
т.е. ты хочешь, чтобы скрипт РАБОТАЛ только на определенных серверах, а если его попытаться запустить на другом сервере, он бы не срабатывал?
Попробовал просто заменить все </p><p> на <br> - почти хорошо получилось, НО!
Время от времени встречается <p align=center> и после такого обрезания на <br> все, что ниже тега center тоже начинает центрироваться.
Попытался так:
заменяю
<p>([^align=]*?)</p><p>
на
<p>\\1<br>
Получаю - часть обрабатывается, как надо, но часть вообще не обрабатывается.
Если такую зачистку провести несколько раз (3-4), то почти все, как надо, но все таки, может есть более простое выражение, чтобы получалось из:
Во время обработки файла, создаваемого из вордовского документа, возникает проблема очистки его от всякой пакости.
Возникла необходимость убрать все мелкосовтовские классы через preg_replace (массивом).
Выглядят они так:
class=MSO{тут разные варианты}
Удалить надо все эти варианты, которые завершаются либо на пробел, либо на >
Например:
<p class=MsoNormal align=center style='text-align:center'> < тут надо удалить до пробела перед align
<p class=MsoGridNormal> < тут надо удалить до ">"
Предполагаю, что
class=Mso.*?{но что вот тут, чтобы удаляло до первого из вариантов - или до > или до пробела} (Добавление)
Сори, уже решил, своих мозгов хватило.
ОТОБРАЖАЕТСЯ все правильно, но при просмотре ИСХОДНОГО текста HTML страницы - все те же шестизначные. (Добавление)
LIME пишет:
странно
но кодировку надо указать полюбому
Пытался подставлять cp1251, UTF-8 - ни фига. В исходниках - все теже шестисимвольные комплексы. (Добавление)
Хм... При прямой перекодировке СТРОКИ, состоящей ТОЛЬКО из этих кодов - все срабатывает. Но если так обрабатываю ВЕСЬ документ (со всеми тегами и прочим) - текст не меняется... (Добавление)
Получаю
Что то делаю не так? (Добавление)
Имею ввиду - в исходном тексте страницы остаются все те же комбинации. Выводится на экран, естестенно, русский текст.
Отображает верно, внутри есть такая строка:
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
Сами понимаете, 300 килобайтный документ из-за этого становится почти в 6 раз больше, что не радует.
Для перекодирования из более новых сохранений (а там win1251) используется следующее:
$file_data = iconv($encode, "UTF-8", str_ireplace($encode, "UTF-8", $data));
где $encode - кодировка из:
<meta http-equiv=Content-Type content="text/html; charset=windows-1251">
Есть большой документ, в который внедрено множество картинок.
Тип стандартный: <img src=имя файла width=XXX height=YYY>
Есть ли функция, позволяющая выбрать, например, в массив, ВСЕ ссылки на картинки?
Нашел, например,
$spll = preg_split("/<.*?>/",$data,-1);
В результате получаю ВЕСЬ текст в массиве, а не только картинки. Подскажите, как можно сделать, чтобы получился массив, содержащий ТОЛЬКО ссылки на картинки?
Хм... А обящательно PDF?
Я, когда было надо, просто генерировал картинку через GDI
Фоном брал одну картинку (у вас это будет картинка-"открытка")
Поверх наслаивал текст через PHP.
Далее можно получить 200 картинок под каждый код свою...
Увы, необходимо, чтобы пропорции картинок были сохранены. Т.е. если картинка будет 300х9000, то высота в 9000 - нормально.
В идеале, конечно, просто удалить теги Height, но моих знаний в регулярных не хватает, а курить мануалы не получается.
Подскажите регулярное выражение для прег-реплейса, удаляющее следующие варианты тегов height - болдом то, что наду удалить: height="ххх" src=путь к файлу (ххх - цифры) height=ххх src=путь к файлу
src=путь к файлу height="ххх">
src=путь к файлу height=ххх>
Упс, забыл еще 2 варианта: height="ххх"
src=путь к файлу (т.е. в 2 строки, после " нет пробела и перед src нет пробела) height=ххх
src=путь к файлу (аналогично - 2 строки)
Пытался через
height=.*?( >)
но тогда кастрирует все до следующего ">", т.е. первые 2 варианта не срабатывают. (Добавление)
Правильно ли получится:
1 чистка:
height=.*?[(\r\n) ] - замена на '' (убираются варианты, когда после тега height идет перенос строки или пробел
2 чистка:
height=.*?> - заменяем на > (убирается тег height, закрывающий картинки)
Понимаю, что коряво, но на больее меня пока не хватило. (Добавление)
Ну и еще прикол - тупой осел такой тупой, мля...
IE8 - да, по стилям обрезает размер картинки по ширине, но СТРАНИЦУ отображает, как будто ширина все еще офигенная (т.е. тупо слева остается широченное поле).
Ну и он единственный уроде, который тег height="" воспринимает как height="1", а не как отсутствие тега...