Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.04.2013, 19:41   #1
Karyuudo
Пользователь
 
Регистрация: 17.02.2008
Сообщений: 53
По умолчанию Удалить текст между словом и ; на конце

Здравствуйте!

Собрался открыть блог в котором буду регулярно публиковать таблички из экселя.
Возникла задачка - при сохранении из экселя в штмл размер файла становится очень большим из-за мусорного кода.
Поискал по инету, нашел какие-то чистильщики, но ни один не подошел так как надо чтоб чистилось не все, а только определенное.

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

Потому прошу кто может, напишите пожалуйста как удалить регулярным выражением следующее:

1. font-family:"название стиля";
2. border-left:.5pt solid windowtext'> ('> - удалять не нужно)


нашел сайт благодаря которому методом тыка начало получатся!
http://php-include.ru/regulyarnye-vyrazheniya-onlain


Вот только вопрос возник

вот например есть такой кусок текста

Код:
none;font-family:"Times New Roman";border-top:1.0pt solid windowtext;
  border-right:1.0pt solid windowtext;border-bottom:.5pt solid windowtext;
  border-left:.5pt solid windowtext;background:#A1D45A;mso-pattern:black none'>700,57</td>
придумал такую маску:
Код:
\bfont-family:(.*);
но она выделяет
Код:
font-family:"Times New Roman";border-top:1.0pt solid windowtext;
а как выделить только
Код:
font-family:"Times New Roman";
?

пробовал что-то типа
Код:
font-family:(.(?!;)*)
и т.п. но как-то совместить не выходит
заранее спасибо!


урааа у меня получилось )))
Код:
слово:(.*?);
а помогло в составлении
http://txt2re.com/

Последний раз редактировалось Karyuudo; 16.04.2013 в 10:45.
Karyuudo вне форума Ответить с цитированием
Старый 16.04.2013, 11:59   #2
Karyuudo
Пользователь
 
Регистрация: 17.02.2008
Сообщений: 53
По умолчанию

Еще вот вопрос возник
есть 2 строки

Цитата:
text-line-through:
none;
как её принять за одну строку? чтобы выделить text-line-through: none;
Karyuudo вне форума Ответить с цитированием
Старый 16.04.2013, 15:59   #3
Karyuudo
Пользователь
 
Регистрация: 17.02.2008
Сообщений: 53
По умолчанию

вопрос решился
узнал про жадность и понял, что надо было просто добавить /s
Karyuudo вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удалить между текст, preg_replace xatrix PHP 0 16.07.2012 14:34
Паскаль АBC, строки. Дан текст. Между соседними словами – не менее одного пробела, за последним словом. Margosham-k Помощь студентам 0 18.04.2012 15:28
Удалить текст между двух слов Polotenchik Microsoft Office Word 5 12.06.2011 11:01
FASM (assembler). Удалить пробелы в начале и в конце строки Zart Помощь студентам 4 23.04.2011 21:18
Delphi 7, удалить символ в конце файла Flame_of_Death Помощь студентам 5 10.08.2009 06:32