Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: вырезать style="любой_тескт"
 
 автор: admiral   (11.02.2010 в 16:49)   письмо автору
 
 

как вырезать все что
style="любой_тескт"
включая и самом слово style

  Ответить  
 
 автор: seitbekir   (11.02.2010 в 17:04)   письмо автору
 
   для: admiral   (11.02.2010 в 16:49)
 

|style=\"(.*)\ \"|

  Ответить  
 
 автор: heed   (11.02.2010 в 17:59)   письмо автору
 
   для: seitbekir   (11.02.2010 в 17:04)
 

только тогда должен быть модификатор U , или *? вместо *
или вторая кавычка будет самой последней во всём тексте
, тогда уж лучше '/style="[^"]*"/i'

// но тоже не 100% найдёт всё и только то что нужно

  Ответить  
 
 автор: seitbekir   (11.02.2010 в 19:26)   письмо автору
 
   для: heed   (11.02.2010 в 17:59)
 

согласен

  Ответить  
 
 автор: big-trot   (11.02.2010 в 23:12)   письмо автору
 
   для: heed   (11.02.2010 в 17:59)
 

а еще лучше '/style="(?:\\.|[^"])*"/i'

  Ответить  
 
 автор: Тень&   (11.02.2010 в 23:22)   письмо автору
 
   для: big-trot   (11.02.2010 в 23:12)
 

Нет, это ничем не лучше, ибо экранирование в HTML делается по-другому.

  Ответить  
 
 автор: heed   (12.02.2010 в 00:19)   письмо автору
 
   для: big-trot   (11.02.2010 в 23:12)
 

ааа , всмысле заэкранирования возможного ?,)
у меня иногда вообще не работают \\ в выражениях, приходится вставлять \x5c
получается что-то типа такого
<pre><?php
$txt 
'
style=""
style=" \" \\\\\\\\ \" "
style="\
txt
"'
;
print 
$txt "\n";
preg_match_all('/style="(?>(?:\x5c.)?[^"\x5c]*)+"/i'$txt$out);
print_r($out); 

но всё ещё хуже если кавычка может быть ["\']

  Ответить  
 
 автор: Тень&   (12.02.2010 в 00:25)   письмо автору
 
   для: heed   (12.02.2010 в 00:19)
 

А мы думать не хотим, да? В HTML экранирование кавычки делается так: &quot;

Браузер будет читать именно от кавычки до кавычки, он бекслеш как часть литеральной константы воспримет.

> у меня иногда вообще не работают \\ в выражениях
Вот лучше разберись с этим, раз делать нечего

  Ответить  
 
 автор: heed   (12.02.2010 в 00:38)   письмо автору
 
   для: Тень&   (12.02.2010 в 00:25)
 

это смотря какой html , до xhtml такое и использовали все, правда я пока вообще не видел кавычек внутри style=
// опять только хотел поправить, вспомнив что убирал модификатор s для теста с unix-перебросом строки ,) и подумал что всётаки "*" лучше чем "?"

и форум-то по выражеениям, а не по html :)

>разберись с этим, раз делать нечего
с этим я уже разобрался , говорю-же не работает ,) значит не работает
, можете потренироваться на предидущем примере :)
//upd2 вообщето на предидущем работает , но точно помню что такое было

  Ответить  
 
 автор: big-trot   (13.02.2010 в 22:26)   письмо автору
 
   для: heed   (12.02.2010 в 00:19)
 

Heed, хотелось бы понять для чего вы использовали атомарную группировку в вышем варианте.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования