![]() |
|
Модераторы: Aliance, skyboy, MoLeX, ksnk |
![]()
|
|
| DissDoc |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 463 Регистрация: 13.7.2006 Репутация: нет Всего: нет |
Проблема вот в чем, никак не могу разобраться с регулярными выражениями полностью. Встала проблема перевести строку из [img='test.jpg'] в строку <img src='test.jpg'>.
|
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 8 Всего: 260 |
и? что у тебя не работает? где код? если кода не даешь - иди в поиск. подобное тут каждый четверг поднимается.
|
|||
|
||||
| DissDoc |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 463 Регистрация: 13.7.2006 Репутация: нет Всего: нет |
Все, сделал!
вроде работает! НО ))) Я сделал с трудом, методом сокражения сложных рег выражений. Поэтому встает вопрос, что такое "$1"? А также "U", и вообще я очень все смутно понимаю, если не трудно можно всю строку объяснить ))) Ну или хотя даль грамотный линк? А то, все что я нахожу в инете - друг у друга содрано и толком нет ничего! Просто сказано, что в рег. выражениях "есть еще и классы. Но мы их разбирать не будем" ) |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 8 Всего: 260 |
$1 - это первая найденная группа. Группа - это то, что в регулярке находится внутри скобок. В данном случае это (.*). ".*" - это означает любой символ(".") любое количество раз("*"). А "U" - определение "жадности", чтоб в строке "[img='test.jpg']" символ "]" не "влез" в те самые ".*". Т.е. без модификатора "U" в $1 было бы не 'test.jpg', a "'test.jpg']".
символы "[" и "]" записаны с предшевствующим "\", чтоб эти символы не опознавались как управляющие(определяющие набор символов). php.net и php.ru |
|||
|
||||
| DissDoc |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 463 Регистрация: 13.7.2006 Репутация: нет Всего: нет |
Спасибо огромное, очень помогло твое объяснение =) Я хоть более-менее начал вникать.
И за ссылки спасибо. Честное слово не знал |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 8 Всего: 260 |
ничего. только в следующий раз как будешь обращаться - сразу выкладывай код.
Во-первых, проще сказать "в такой-то строке неверно установлено то-то и то-то", нежели набивать код самому целиком. Во-вторых, видно, что ты тоже стремился к разрешению проблемы, а не просто хочешь, чтоб за тебя её решили. Так что - велкам |
|||
|
||||
| OverClocker |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 12.11.2005 Репутация: нет Всего: нет |
skyboy, большое спасибо за исчерпывающий ответ. НО вот только мне не совсем понятно, зачем слэш ( / ) перед [img= ? |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 16 Всего: 261 |
[ - служебный символ паттерна, означающий начала класса. Чтобы паттерн его воспринимал, как символ "[" мы его экранируем.
|
|||
|
||||
| OverClocker |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 12.11.2005 Репутация: нет Всего: нет |
Mal Hack, это то я понял. \[ будет восприниматься просто, как символ [ Мне не понятно, что за обратный слэш перед всей этой конструкцией / и всё это выглядит /\[img...
|
|||
|
||||
| SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 8 Всего: 401 |
OverClocker, это ограничитель (он же delimeter). Второй такой же (закрывающий) - в конце выражения, но перед модификаторами (в данном случае перед U).
-------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
| OverClocker |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 12.11.2005 Репутация: нет Всего: нет |
SelenIT, а! Теперь ясно! Спасибо
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Тексты | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |