написал под на win 1251 всё замечательно работает
preg_match_all('/<link.+href\s*=.*([\w\.-]+?).*>/Ui',$get, $link);
теперь нужно тоже самое с utf-8, ну судя по докам нашёл алиасы к \w и \s.Именно замена \w не работает, достаёт только адрес до первого слеша
preg_match_all('/<link.+href\p{Z}*=.*([\p{L}\p{Nd}\.-]+?).*>/Uui',$get, $link);
Спустя 3 минуты, 7 секунд (31.05.2012 - 15:15) Игорь_Vasinsky написал(а):
единственное отличие работы с кириллицей и юникодом - это наличие для последней модификатора u
Спустя 20 минут (31.05.2012 - 15:35) Gradus написал(а):
а вот и не правда, некорректно работает \w
http://www.pcre.org/pcre.txt
http://habrahabr.ru/post/45910/
http://www.pcre.org/pcre.txt
http://habrahabr.ru/post/45910/
Спустя 3 минуты, 43 секунды (31.05.2012 - 15:39) Игорь_Vasinsky написал(а):
познавательно. не сталкивался.
Спустя 16 минут, 17 секунд (31.05.2012 - 15:55) Gradus написал(а):
нашёл пока вот такой выход
А-я нельзя прописать ибо ругается, т.е. обходимся без рус названий
preg_match_all('/<link.+href\p{Z}*=.*([A-z\/\.-]+?).*>/Uui',$get, $link);
А-я нельзя прописать ибо ругается, т.е. обходимся без рус названий
Спустя 5 минут, 35 секунд (31.05.2012 - 16:01) inpost написал(а):
Зачем ты пишешь букву А большой, если у тебя стоит модификатор i ?
Кроме этого, если это русская А, то заканчиваться должна и русской буквой я.
\s - всегда корректно работал у меня, как и \d, не знаю, в каких скриптах вы живёте...
Кроме этого, если это русская А, то заканчиваться должна и русской буквой я.
\s - всегда корректно работал у меня, как и \d, не знаю, в каких скриптах вы живёте...
Спустя 10 минут, 46 секунд (31.05.2012 - 16:12) Gradus написал(а):
inpost, потому что обрабатываешь файлы не utf-8 без bom вот и работает.
Ну конечно русские стоят а и я (разве есть 'я' не русская на станд. рус клавах ? :) )
модификатор i на сколько я знаю распространяется на символьные константы в шаблоне, т.е. на всё кроме условий, то есть link и LINK это без разницы , а вот на условия типа [a-z] это не действует.Можете проверить, у меня по крайней мере на практике именно так и работает.Но возможно в другой кодировке и на условия модификатор действует, не проверял
Ну конечно русские стоят а и я (разве есть 'я' не русская на станд. рус клавах ? :) )
модификатор i на сколько я знаю распространяется на символьные константы в шаблоне, т.е. на всё кроме условий, то есть link и LINK это без разницы , а вот на условия типа [a-z] это не действует.Можете проверить, у меня по крайней мере на практике именно так и работает.Но возможно в другой кодировке и на условия модификатор действует, не проверял
preg_match_all('/<link.+href\p{Z}*=.*([A-z\/\.-]+?).*>/Uui',$get, $link); // работает
preg_match_all('/<link.+href\p{Z}*=.*([а-z\/\.-]+?).*>/Uui',$get, $link); // не работает
Спустя 2 часа, 51 минута, 12 секунд (31.05.2012 - 19:03) inpost написал(а):
Gradus
Я работаю на utf-8 without bom. Всё работает. Не понимаю о чём ты...
Я работаю на utf-8 without bom. Всё работает. Не понимаю о чём ты...
Спустя 7 минут, 20 секунд (31.05.2012 - 19:10) Gradus написал(а):
inpost, говори проще <<У меня работает, остальные идиоты>>, что темнить то ? 
возьми проверь \w , будем разбираться почему кругом идиоты если у тебя работает

возьми проверь \w , будем разбираться почему кругом идиоты если у тебя работает

Спустя 6 минут (31.05.2012 - 19:16) inpost написал(а):
Ты писал про: "некорректно работают \s \w \d "
Давай прямой пример, где \s или \d не будут работать? \w не берём в пример, разбираем другие 2/3 утверждения. Просто небольшой пример, если тебе не сложно.
Давай прямой пример, где \s или \d не будут работать? \w не берём в пример, разбираем другие 2/3 утверждения. Просто небольшой пример, если тебе не сложно.
Спустя 27 минут, 3 секунды (31.05.2012 - 19:43) Gradus написал(а):
inpost, я тебе именно про \w говорил.Проверил \s и \d норм работают.Но в доке почему-то прописаны и к ним алиасы.Ну да ладно отредактирую пост, дабы не давать ложную инфу.
_____________
ДАВАЙ ДЕНЬГИ
R543264623869