Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

05.03.2009, 01:58
|
|
Banned
Регистрация: 19.06.2006
Сообщений: 1,239
Провел на форуме: 1469161
Репутация:
142
|
|
Есть строки вида: <link rel="shortcut icon" href="/sat/favicon.ico" type="image/x-icon"/>
Как замутить так, чтобы выдирались только значения определённых атрибутов,к примеру,атрибута rel.
preg_match("/<link rel=(.*)/",$out,$matches) Не работает и выдирает всю строку,а тег идёт как <link rel =что-то тут />
Как раз /> и не удаётся впаять...пишет,что,мол,неизв естный модификатор.Само собой,разумеется...Пробовал по-всякому,но выходило одно и тоже.
|
|
|

05.03.2009, 02:26
|
|
Участник форума
Регистрация: 24.11.2008
Сообщений: 205
Провел на форуме: 1123418
Репутация:
362
|
|
/<link rel="(.*?)"/
|
|
|

05.03.2009, 02:44
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
PHP код:
<pre>
<?php
$in = '<link rel="shortcut icon" href="/sat/favicon.ico" type="image/x-icon"/>';
preg_match('|<link rel="(.*)".*/>|Ui',$in,$x);
print_r ($x);
?>
</pre>
|
|
|

05.03.2009, 20:14
|
|
Banned
Регистрация: 19.06.2006
Сообщений: 1,239
Провел на форуме: 1469161
Репутация:
142
|
|
Сообщение от Pashkela
PHP код:
<pre>
<?php
$in = '<link rel="shortcut icon" href="/sat/favicon.ico" type="image/x-icon"/>';
preg_match('|<link rel="(.*)".*/>|Ui',$in,$x);
print_r ($x);
?>
</pre>
Это всё,конечно,замечательно... о вот как он работает - загадка древних )))
|
|
|

05.03.2009, 20:32
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
в смысле как:
<link rel="
тут все понятно
(.*)
означает любые символы, т.е. всё, скобочки означают, что надо сохранить
".*/>
всё, что после кавычек и до знака />, просто обозначается, что там не пусто, сохранять не надо, поэтому и скобочек нет.
|| отличается от // только тем, что в || можно писать как есть, например </a>,
а в // только так тогда придется: <\/a> - т.е. экранировать так называемые специальные символы.
Вот отличная статья по регуляркам в общем, сам по ней вкуривал, на самом дело всё просто до удивления, тем более для программера (и не слушай тех, кто говорит "замудренные словечки" - типо метасимволы и прочее, всё на самом деле как детском садике):
http://pyha.ru/forum/topic/19.0
просто надо почитать и врубиться
ЗЫЖ Просто уяснить, что очень похоже, когда ищешь файло в виндах, например чтобы найти все .gif файлы - набираешь в строке поиска - *.gif*
Ну и тут тоже самое, задаешь маску и смотришь потом, правильно задал или нет.
Последний раз редактировалось Pashkela; 05.03.2009 в 21:00..
|
|
|

05.03.2009, 23:21
|
|
Banned
Регистрация: 19.06.2006
Сообщений: 1,239
Провел на форуме: 1469161
Репутация:
142
|
|
Я пока другую читал,но твою обязательно прочитаю  .Теперь вопрос по-другой регги:
/^[a-zA-Z0-9_!#%])+@{1,1}[m][a][i][l][.][r][u]{1,1}$/
Это регулярка,которая чекает гипотетическое  мыло ТОЛЬКО mail.ru  9Так,для себя накатал).Потом пришла мысля,что можно из файла потом считать и сохранять куда-то.Я не прошу каких-то программных решений - это чисто для тренировки  .Всё окей,но у меня в $matches(я просто ток регулярку привёл),сохраняется только первый символ мыла  .Но оно и ясно - я ведь обработал только один символьный класс  .Однако, квантификатор + должен тоже с этим бороться  .Символы ^ и $ должны тоже решать проблему с обработкой целой строки.Как выйти из положения пока не решил...
ЗЫ: http://www.phpclub.ru/detail/article/regexp_1 Тут тоже статейка хороффая,но я её ещё пока ни асилил до конца  .
|
|
|

05.03.2009, 23:29
|
|
Участник форума
Регистрация: 08.04.2008
Сообщений: 242
Провел на форуме: 2230263
Репутация:
229
|
|
/* upd */ для логина
/^([a-zA-Z0-9_!#%]+)@{1,1}[m][a][i][l][.][r][u]{1,1}$/
Последний раз редактировалось m0nsieur; 05.03.2009 в 23:39..
|
|
|

05.03.2009, 23:36
|
|
Banned
Регистрация: 19.06.2006
Сообщений: 1,239
Провел на форуме: 1469161
Репутация:
142
|
|
Нэнэнэ...он же сохранит полностью email  ,а я хотел,чтобы он только сам логин вырезал.
P.S.: Кстати,там два элемента массива...тобишь два совпадения ? Но такого не может быть.Или же это две разные переменные...
|
|
|

05.03.2009, 23:42
|
|
Постоянный
Регистрация: 19.03.2007
Сообщений: 684
Провел на форуме: 3152874
Репутация:
1020
|
|
/^([a-zA-Z0-9_!#%]+)@{1,1}[m][a][i][l][.][r][u]{1,1}$/
Омг,
Если ты собрался читать из файла то наверно ^ $ не стоит указывать:
#([0-9a-z_]+)@mail\.ru#i
|
|
|

05.03.2009, 23:47
|
|
Banned
Регистрация: 19.06.2006
Сообщений: 1,239
Провел на форуме: 1469161
Репутация:
142
|
|
Опля,сработало ж )))Вот ток непонятно,почему не надо указывать ^ и $.Считывается то вся строка...Ты указал модификатор /i,а он распространяется на все символы.Мало я знаю ещё походу 
Последний раз редактировалось Велемир; 05.03.2009 в 23:49..
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|