PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (16): « 1 2 3 [4] 5 6 7 8 9 ... » В конец

> Найдено сообщений: 239
LShark Отправлено: 01 Марта, 2013 - 16:25:40 • Тема: Заменить совпадения, исключая в поиске 1 словосочтание. • Форум: Регулярные выражения

Ответов: 2
Просмотров: 282
Я имел ввиду, что мне нужно заменит ВСЕ строи, которые содержат 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
Но ответы странно-кривые.
(Добавление)
Поскрипев мозгами и почитав нашел ответ в той теме:

CODE (htmlphp):
скопировать код в буфер обмена
  1. font=(?:(?!white).)*?


Ищет все варианты font=.... кроме font=white
LShark Отправлено: 28 Февраля, 2013 - 20:35:12 • Тема: Заменить совпадения, исключая в поиске 1 словосочтание. • Форум: Регулярные выражения

Ответов: 2
Просмотров: 282
Есть что то вроде:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <font=white [случайный набор символов]>
  2. <font=black [случайный набор символов]>
  3. <font=#06ff33 [случайный набор символов]>
  4. <font=red [случайный набор символов]>
  5. <font=white [случайный набор символов]>
  6. <font=long [случайный набор символов]>
  7. <font=detroit [случайный набор символов]>


Необходимо заменить всех их, исключая те, в которых font=white

Понимаю, что просто, но торможу что то.

Вариант использую что то вроде:
font=.?*\s.?*>

Как исключить слово white из попадания? В уроках найти не могу Недовольство, огорчение
LShark Отправлено: 28 Февраля, 2013 - 18:14:12 • Тема: Как работать с регулярными выражениями в php • Форум: Вопросы новичков

Ответов: 9
Просмотров: 320
esterio пишет:
Ваш вариант тоже не лишен проблем

Каких, если не секрет?

Вроде имя файла уже не подменишь "неcss".

Ну разве что придется потмо проверять, есть ли такой файл реально, или нет. Зато на 1 обращение к диску меньше.
LShark Отправлено: 28 Февраля, 2013 - 18:04:38 • Тема: Как работать с регулярными выражениями в php • Форум: Вопросы новичков

Ответов: 9
Просмотров: 320
1. Имхо расширение .css получать через substr, так как могут подсунуть что то типа vasia.css.txt.php и будет веселье.
2. Если есть $css = $_GET[style]; то зачем потом echo $_GET[style]; ?

PHP:
скопировать код в буфер обмена
  1. <?
  2. $css = $_GET['style'];
  3. if(substr($css,-4)=='.css')
  4.         echo $css;
  5. else
  6.    echo 'default.css';
  7. ?>
LShark Отправлено: 28 Февраля, 2013 - 06:18:35 • Тема: Как запустить функцию автоматицески каждый день? • Форум: Вопросы новичков

Ответов: 9
Просмотров: 449
Ну почему же, если "сэр знает толк в извращениях", то создаем на главной странице аякс запрос к файлу, который будет проверять время и если очередные сутки прошли, создавать письмо и отправлять его, запоминая новое время, когда надо сработать.
Ни крона, ни планировщика, но надо посетителей. Ну или самому зайти на эту страницу, если не приходит (т.е. никто не зашел).

В былую давность я так делал, но вместо аякса делал скрытый фрейм, куда запрашивал такой вот файл-создатель-отчета (в фрейм ничего не выводилось вообще, все сразу уходило мне на мыло).
LShark Отправлено: 28 Февраля, 2013 - 06:13:44 • Тема: Как побороть данную ошибку При валидации? • Форум: Вопросы новичков

Ответов: 9
Просмотров: 710
По моему, сэр как бы не в курсях, что можно заслэшить кавычки/апостроф, чтобы не было проблем в пых-коде...

PHP:
скопировать код в буфер обмена
  1. echo "А не пойти ли почитать \"Учебник\"?";
LShark Отправлено: 27 Февраля, 2013 - 19:42:15 • Тема: Работа с библиотекой PHPWord. • Форум: Вопросы новичков

Ответов: 4
Просмотров: 13575
Можно не биться башкой об асфальт, а использовать класс, написанный индусом (я не шучу, он реально индус из Индии):
http://www.phpclasses[dot]org/package/2763

Берет на вход HTML файл и на выходе дает doc-файл, который открывается фактически везде.

Хотя на самом деле сугубо индусская работа - просто и без наворотов.
Учитывая, что там для скачивания нужна регистрация, кладу в аттач файл и пример - все вместе - чуть больше 6 килобайт (все эз-из, регистрация - требование файлопомойки).

Ну или на самом деле - хранить xml с инфой из шаблона, прегреплейсом заменить нужное и запаковать в зип, переименовать в docx и готово - получишь docx файл. И не надо генерировать через такой класс. Коряво, зато просто.
LShark Отправлено: 27 Февраля, 2013 - 18:40:09 • Тема: Передача данных в переменную • Форум: Вопросы новичков

Ответов: 18
Просмотров: 569
Для начала почитайте про mktime
http://www.php.su/functions/?mktime

И сразу станет проще...
LShark Отправлено: 24 Февраля, 2013 - 10:31:17 • Тема: Как правильно очистить поля! хелп!!! • Форум: JavaScript & VBScript

Ответов: 5
Просмотров: 3002

Люблю такие вот посты:

Цитата:
Ответьте на вопрос.
(далее туева хуча текста, кода, говнокода и прочего)
Решено.

КАК РЕШЕНО? Вдруг кому еще понадобится аналогичное.
LShark Отправлено: 24 Февраля, 2013 - 10:30:00 • Тема: Зафиксировать, центр, поверх других блоков. • Форум: HTML, Дизайн & CSS

Ответов: 2
Просмотров: 1156

Люблю такие вот посты:

Цитата:
Ответьте на вопрос.
(далее туева хуча текста, кода, говнокода и прочего)
Решено.

КАК РЕШЕНО? Вдруг кому еще понадобится аналогичное.
LShark Отправлено: 23 Февраля, 2013 - 18:33:54 • Тема: Опять парсинг MS-индусоида. Вложенные span - как найти закрывающий? • Форум: Регулярные выражения

Ответов: 4
Просмотров: 311
Увы, нет. Не так.

Посмотри то, что под спойлером. Как раз в самом низу там такой вариант - с колором.

Не забывай, что этот спан, закрывающий спан с колором - далеко не последний, их там еще туева хуча. Индусы, чо...
(Добавление)
Я, конечно, могу поступить иначе - не удалять полностью теги span, а просто вычистить их, превратив в <span> </span>, и только с цветом оставить, модифицировав их в <span style='font-color: red'>

Но это резко увеличит размеры полученного файла.
LShark Отправлено: 23 Февраля, 2013 - 14:48:22 • Тема: Менять информ..каждые 5мин • Форум: Напишите за меня, пожалуйста

Ответов: 4
Просмотров: 57
Пойми, сервер отрабатывает php 1 раз, отдает его тебе (клиенту) и больше никакие 5 минут его не заботят. Он вообще не отдаст НИЧЕГО, пока не отработает весь php-файл.

Поэтому тебе надо именно джаваскриптом делать запросы к другому файлу, который в ответ будет возвращать новый анекдот.
LShark Отправлено: 23 Февраля, 2013 - 14:46:35 • Тема: Опять парсинг MS-индусоида. Вложенные span - как найти закрывающий? • Форум: Регулярные выражения

Ответов: 4
Просмотров: 311
Это сожрет до последнего спана, к сожалению, индусы столько спанов забодяжили, что там текст идет сплошняком.
Нужно именно найти, какой из /спанов закрывает тот, что с color:

В этом то и проблема...
LShark Отправлено: 23 Февраля, 2013 - 09:44:40 • Тема: Опять парсинг MS-индусоида. Вложенные span - как найти закрывающий? • Форум: Регулярные выражения

Ответов: 4
Просмотров: 311
Опять возникла проблема при парсинге и очистке MHT-файла, созданного MsWord.

Из него без проблем получаю html-файл-основу, но вот проблема - он переполнен всякими (не пытайтесь разбирать, это лишь пример):
Спойлер (Отобразить)


После злобной очистки текст очищается напрочь и из 400кб такого вот творения индусов из Мелкомягких получается практически не измененный 75кб документ.

Все бы гуд, но прроблема в том, что ЦВЕТ шрифта также засунут в <span> и при зачистке удаляется вместе с прочей ненужной разметкой мелкомягких.

Отсюда ВНИМАНИЕ!!! ( Улыбка ) вопрос:
Есть такой вариант (выстроено для облегчения понимания):
CODE (htmlphp):
скопировать код в буфер обмена
  1. <span (куча всякого текста) color:red'>
  2.   <span (куча всякого текста)>То, что надо оставить</span>
  3.   <span (куча всякого текста)>То, что надо оставить</span>
  4.   <span (куча всякого текста)>То, что надо оставить</span>
  5.   <span (куча всякого текста)>То, что надо оставить</span>
  6. </span> (который в начале color:red)...
  7.  

Как заменить такое на:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <font color=red>
  2.   <span (куча всякого текста)>То, что надо оставить</span>
  3.   <span (куча всякого текста)>То, что надо оставить</span>
  4.   <span (куча всякого текста)>То, что надо оставить</span>
  5.   <span (куча всякого текста)>То, что надо оставить</span>
  6. </font>
  7.  

Так как дальше все <span> и </span> просто удаляются, уменьшая размер файла, но не меняя результат вывода этого индусокода...

PS. Не имеет значения, что будет: <div style:...> </div> или <font color=...></font> на выходе.
LShark Отправлено: 23 Февраля, 2013 - 09:26:20 • Тема: Как можно сделать защиту от копирования статей с сайта? • Форум: HTTP и PHP

Ответов: 8
Просмотров: 3078
mckmck пишет:
http://za###.com.##/podgotovka-materiala

На этой странице в опере все прекрасно выбирается и копируется.

Вообще то вопрос такой уже не раз поднимался, против желающего сдернуть защиты нет - на худой конец он сфоткает экран компа и тем же файнридером все "перенаберет".

Но против ТП пойдет такой вариант:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <script>
  2. document.getElementById('body').oncontextmenu = function () {
  3. return false;
  4. }
  5. $('#body').bind('copy', null, function(e) {
  6. return false;
  7. });
  8. document.getElementById('body').onselectstart = function () {
  9. return false;
  10. }
  11. </script>

ЗЫ. Если что - $ подразумевает подключение JQuery.

Страниц (16): « 1 2 3 [4] 5 6 7 8 9 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB