![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
Alek74 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 23.3.2006 Репутация: нет Всего: нет |
Вопрос собственно в названии.
Удалить потом из $htmlText все в месте с тегами <style></style> при условии что они есть. Это сообщение отредактировал(а) Alek74 - 30.3.2006, 13:14 --------------------
---------------------------------- «Филисофия жизни ©» ---------------------------------- |
|||
|
||||
sugee |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 423 Регистрация: 12.6.2005 Репутация: 1 Всего: 4 |
Добавлено @ 16:18 А проверить есть ли стили можно с помощью preg_match. |
|||
|
||||
Alek74 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 23.3.2006 Репутация: нет Всего: нет |
Спасибо!!!
--------------------
---------------------------------- «Филисофия жизни ©» ---------------------------------- |
|||
|
||||
Alek74 |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 23.3.2006 Репутация: нет Всего: нет |
Странно, но не получаеться.
Такого вида таблицу:
Не вырезает. --------------------
---------------------------------- «Филисофия жизни ©» ---------------------------------- |
||||
|
|||||
CyClon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 838 Регистрация: 3.12.2005 Репутация: 3 Всего: 4 |
|
|||
|
||||
sugee |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 423 Регистрация: 12.6.2005 Репутация: 1 Всего: 4 |
Oops! А что такое style/css?
![]() Вот так лучше будет
Добавлено @ 19:12 CyClon, ты не учёл что есть такое явление как жадность квантификаторов. Твоя регулярка не останавливается на закрывающем теге </style>, а идет дальше, потому-что .* это любая строка. Ты сам то проверял свой код? |
|||
|
||||
Alek74 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 23.3.2006 Репутация: нет Всего: нет |
Самое интересное, что ни тот ни другой вариант не работает. Это первое.
А вот если в теге <style> помимо type="text/css" есть еще некий аттрибут, к примеру, media="screen". Это если файл имеет структуру fictionbook 2.0. Как его добавить в эту функцию? Это сообщение отредактировал(а) Alek74 - 30.3.2006, 20:07 --------------------
---------------------------------- «Филисофия жизни ©» ---------------------------------- |
|||
|
||||
sugee |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 423 Регистрация: 12.6.2005 Репутация: 1 Всего: 4 |
Я вставил в html-страницу именно ту таблицу стилей которую ты привел для примера, и она моей регуляркой прекрасно вырезается.
![]() Может ты просто вставил мой код как есть? У меня там имя переменной не такое как у тебя. Добавлено @ 20:27
А что такое fictionbook 2.0? |
||||
|
|||||
Alek74 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 23.3.2006 Репутация: нет Всего: нет |
fictionbook 2.0 это формат электронных книг от Дмитрия Грибова. fictionbook 2.0 Это билиотека
О формате тут: http://www.gribuser.ru/xml/fictionbook/2.0 --------------------
---------------------------------- «Филисофия жизни ©» ---------------------------------- |
|||
|
||||
sugee |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 423 Регистрация: 12.6.2005 Репутация: 1 Всего: 4 |
Вторая ссылка че то битая.
Ну а код то заработал? |
|||
|
||||
Alek74 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 23.3.2006 Репутация: нет Всего: нет |
Тестировал.
Да, спасибо. Код заработал. А так можно сделать?
Первой строкой, же нельзя удалить часть тега? Просто в некоторых файлах так, а в других так. Проверка в принципе не нужна. Это работает классы для конвертации html в несколько форматов. При скачивании. Конвертирует и зипует на лету. Там ошибки не выдаються. И ноутисы тоже. --------------------
---------------------------------- «Филисофия жизни ©» ---------------------------------- |
|||
|
||||
sugee |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 423 Регистрация: 12.6.2005 Репутация: 1 Всего: 4 |
А зачем ты в первом реге дублируешь то что уже есть во втором?
Конструкция {0,1} означает что то что находится перед ней встречается в тексте 0 или 1 раз, то есть любой из указанных атрибутов может содержаться в теге <style>, но не один из них не является обязательным. |
|||
|
||||
sugee |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 423 Регистрация: 12.6.2005 Репутация: 1 Всего: 4 |
Кстати кавычки обрамляющие text/css могут быть и одинарными или их
может не быть вообще. С учётом этого доработал ещё
Остальные атрибуты добавишь по аналогии. |
|||
|
||||
Alek74 |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 23.3.2006 Репутация: нет Всего: нет |
Т.е. если в файле может встречаться регулярное выражение более одного раза, то надо вставить {0,2} - два раза?
И, как я догадываюсь, если это встречаеться n раз, то {0,2} лучше вообще убрать и не накладывать ограничение? Добавлено @ 06:19 К примеру: Надо убрать знак пробела
А если надо заменить одинарный апостроф на кавычки то
--------------------
---------------------------------- «Филисофия жизни ©» ---------------------------------- |
||||
|
|||||
sugee |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 423 Регистрация: 12.6.2005 Репутация: 1 Всего: 4 |
Нет, {0,1} означает что в подстроке которая должна совпасть с регулярным выражением(в данном случае в таблице стилей) символ или группа символов которая находится непосредственно перед {0,1}
должна встретится 0 или 1 раз. Эта группа символов заключена в круглые скобки. X{n,m} - значит X может встретится в искомой подстроке от n до m раз. Сама подстрока т.е. в твоем случае таблица стилей может встретиться в тексте сколько угодно раз и всякий раз будет заменена на пустую строку. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "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. |