![]() |
|
Модераторы: Aliance, skyboy, MoLeX, ksnk |
![]()
|
|
| ashenemy |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 155 Регистрация: 7.11.2006 Репутация: нет Всего: нет |
Есть такой текст
<a href="http://www.moiki.biz/"><b><span>ссыЛка 6 для теСТу</span></b></a> регулярка - /<a(.*)?href=(\'|")?http:\/\/www.moiki.biz(\/)?(\'|")?(.*)?>(.*)ссылка 6 для тесту(.*)<\/a>/Uis - не пашет потому что не совпадают регистры, но должно же ведь. помогите плз |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 8 Всего: 260 |
данные не в UTF-8 случайно?
|
|||
|
||||
| ashenemy |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 155 Регистрация: 7.11.2006 Репутация: нет Всего: нет |
Нет данные в cp1251 в какой они должны быть то чтобы нормально все пахало? задолбался уже с этими кодировками
|
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 8 Всего: 260 |
покажи строку с вызовом РНР-функции полностью.
|
|||
|
||||
| ashenemy |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 155 Регистрация: 7.11.2006 Репутация: нет Всего: нет |
preg_match("/<a(.*)?href=(\'|")?http:\/\/www.moiki.biz(\/)?(\'|")?(.*)?>(.*)ссылка 6 для тесту(.*)<\/a>/Uis", $string, $return);
|
|||
|
||||
| Валерия |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 598 Регистрация: 10.3.2007 Репутация: нет Всего: 8 |
у тебя шаблон
//Uis модификаторы U, i, s Так вот, модификатор i это "учитывать регистр", убери его |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 8 Всего: 260 |
||||
|
||||
| unicross |
|
||||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 422 Регистрация: 15.6.2008 Репутация: 5 Всего: 53 |
Так будет ошибка. Попробуйте так. У меня работает.
Если не поможет, то пробуем настроить локаль. Добавьте строку в начало скрипта:
Если не поможет, тогда пробуем вариант, который предположил skyboy и предполагаем, что строка в utf-8:
Это сообщение отредактировал(а) unicross - 17.2.2009, 00:07 |
||||||||
|
|||||||||
| ashenemy |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 155 Регистрация: 7.11.2006 Репутация: нет Всего: нет |
setlocale(LC_ALL, "ru_RU.CP1251");
спасибо помогло |
|||
|
||||
| xoptov |
|
||||||||||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 16.2.2008 Репутация: нет Всего: нет |
У меня та же проблема. К сожалению setlocale(LC_ALL, "ru_RU.CP1251"); не помогло! Скрипт сохранен в кодировке cp1251. следующий пример кода:
результат:
а следующий код:
результат:
у кого есть мысли по этому поводу? Заранее благодарен за помощь! Это сообщение отредактировал(а) xoptov - 22.1.2013, 09:05 |
||||||||||
|
|||||||||||
| Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 2 Всего: 137 |
Наверное потому, что ([а-я]+) не включает в себя символы верхнего регистра. Нужно написать либо ([A-я]+), либо (\w+)
|
|||
|
||||
| xoptov |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 16.2.2008 Репутация: нет Всего: нет |
Не правильно, садись 2. П.С. этот скрипт под Windows работает отлично, а под Linux вот так глючит... |
|||
|
||||
| Arantir |
|
|||
|
Рыбак без удочки ![]() ![]() Профиль Группа: Участник Сообщений: 960 Регистрация: 18.11.2012 Репутация: 1 Всего: 55 |
xoptov, не понимаю, зачем вам именно а-я с модификатором i? Вот А-я прекрасно работает в cp1251. Или, по-вашему, есть другие символы с разным регистром помимо всех в алфавите?
Это сообщение отредактировал(а) Arantir - 22.1.2013, 13:41 -------------------- interface Жопа { // ATTENTION: has to be implemented by every class of the project for proper project work } |
|||
|
||||
| xoptov |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 16.2.2008 Репутация: нет Всего: нет |
Вы правы, с диапазоном все можно решить проще. Но мне нужен именно рабочий модификатор i. Следующий скрипт тоже выводит на экран нулевой результат в Linux:
Модификатор i мне нужен для того чтобы автоматически строить шаблоны из записей в БД. Схема следующая: в БД есть около 800 строк которые должны участвовать в сравнении и если текст совпадает с одной из этих строк то возвращается идентификатор совпавшей строки. Эти 800 строк я преобразую в регулярные выражения по которым и делаю сравнение и тут без модификатора i не обойтись. Как то проблемно преобразовать 800 строк вручную. |
||||
|
|||||
| Fortop |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: нет Всего: 42 |
Вот чтобы выпендриваться так, нужно обладать знаниями и способностью решить проблему самостоятельно. Проверь что у тебя установилась локаль корректно и что она вообще у тебя есть в системе - бездарь. -------------------- Мир это Я. Живее всех живых. |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Тексты | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |