repleace без учета регистра на PHP

Разговоры на любые темы: вы можете обсудить здесь какой-либо сайт, найти единомышленников или просто пообщаться...
Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

repleace без учета регистра на PHP

Сообщение Ramzes » 23.02.2009 (Пн) 11:15

Клавиатура chicony CODE-01 bla-bla-bla
допустим, вы этой строке, я хочу заменить
Клав на
<span class="myClass">клав</span>

при этом я не знаю, что введет пользователь, "Клав", или "клав", или "кЛАВ". Как осуществить замену, без учета регистра, но, что бы при этом, остальная строка не поменялась (т.е. приведение обеих строк к одному регистру не катит)

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

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Re: repleace без учета регистра на PHP

Сообщение ANDLL » 23.02.2009 (Пн) 11:20

ereg_replace\eregi_replace
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Re: repleace без учета регистра на PHP

Сообщение Ramzes » 23.02.2009 (Пн) 11:41

это работает, если совпадение не в начале строки
т.е.
"Клавиатура" не будет заменено на "клавиатура"
а вот
"модная Клавиатура", будет заменено на "модная клавиатура"

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Re: repleace без учета регистра на PHP

Сообщение ANDLL » 23.02.2009 (Пн) 12:08

Значит у тебя неправильный regexp
Должен быть чтото вроде (клав)иатура, <...>$1<...>иатура
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

Joo
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 762
Зарегистрирован: 14.08.2008 (Чт) 11:55
Откуда: Казахстан

Re: repleace без учета регистра на PHP

Сообщение Joo » 25.02.2009 (Ср) 5:35

Вот самый простой вариант:
Код: Выделить всё
ResultString = eregi_replace('клав', '<span>клав</span>', $subject);
"Им будет не просто, тем кто полагается на истину авторитета, вместо того чтобы полагаться на авторитет Истины"
Джеральд Месси, Египтолог

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: repleace без учета регистра на PHP

Сообщение Хакер » 25.02.2009 (Ср) 7:56

Нет, это не самый простой.
Самый простой, это $ResultString = str_ireplace('клав', '<span>клав</span>', $subject);.

P.S. Я помню, что автора php5.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Joo
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 762
Зарегистрирован: 14.08.2008 (Чт) 11:55
Откуда: Казахстан

Re: repleace без учета регистра на PHP

Сообщение Joo » 25.02.2009 (Ср) 8:32

Хакер писал(а):Нет, это не самый простой.
Самый простой, это $ResultString = str_ireplace('клав', '<span>клав</span>', $subject);.

P.S. Я помню, что автора php5.


Да, ты прав, я просто повелся на ответы предыдущих авторов и подумал что обязательно нужно рег. выражения ))
"Им будет не просто, тем кто полагается на истину авторитета, вместо того чтобы полагаться на авторитет Истины"
Джеральд Месси, Египтолог

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Re: repleace без учета регистра на PHP

Сообщение Ramzes » 25.02.2009 (Ср) 11:52

Хакер писал(а):Нет, это не самый простой.
Самый простой, это $ResultString = str_ireplace('клав', '<span>клав</span>', $subject);.

P.S. Я помню, что автора php5.

пробовал, почему-то у меня не сработало, когда снова вернусь к этой проблеме, выложу код с str_ireplace()


Вернуться в Народный треп

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 61

    TopList