[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: str_ireplace не работает с разными регистрами
Страницы: 1, 2
Reh
Подскажите почему не происходит замена?


var_dump($search);var_dump($replacement);var_dump($advice);

var_dump(str_ireplace($search, $replacement, $advice));


string(10) "отлич"
string(43) "<span class = "foundText">отлич</span>"
string(38) "Отличное качество!!!!!"
string(38) "Отличное качество!!!!!"
Миша
А если preg_replace с i

_____________
Принимаю заказы, писать в ЛС
Reh
Медведь
я думал что эта функция для поиска по гег выражениям.
Сейчас попробую
Миша
Цитата (Reh @ 18.01.2015 - 16:33)
Медведь
я думал что эта функция для поиска по гег выражениям.
Сейчас попробую

Да, первым параметром будет регулярное выражение)) Иначе требуется точное вхождение.

_____________
Принимаю заказы, писать в ЛС
Reh
Цитата
А если preg_replace с i


как это написать? чет я запутался((
можешь кодом показать?
Миша
Цитата (Reh @ 18.01.2015 - 16:41)
Цитата
А если preg_replace с i


как это написать? чет я запутался((
можешь кодом показать?

$search = "#*отлич*#i"; // Вроде так, попробуй, если нет, то меня поправят


_____________
Принимаю заказы, писать в ЛС
Reh
ругается((

string(15) "#*отлич*#i"
string(43) "<span class = "foundText">отлич</span>"
string(38) "Отличное качество!!!!!"
<br />
<b>Warning</b>: preg_replace(): Compilation failed: nothing to repeat at offset 0 in <b>/home/bh49690/public_html/model/modelAjax.php</b> on line <b>1190</b><br />
NULL
Миша
$search = "#^*[отлич]*$#i"; // А ТАК


С рег. выражениями у меня проблема, вот. Народ помогите человеку))

_____________
Принимаю заказы, писать в ЛС
Reh
Цитата
// А ТАК

то же самое.

Почему так то не работает - str_ireplace?
Как я понял str_replace - это регистрозависимая функция, а эта - str_ireplace нет.
Или не правильно я понял?
Reh

string(19) "#^*[отлич]*$#i"
string(43) "<span class = "foundText">отлич</span>"
string(10) "отлич"
<br />
<b>Warning</b>: preg_replace(): Compilation failed: nothing to repeat at offset 1 in <b>/home/bh49690/public_html/model/modelAjax.php</b> on line <b>1190</b><br />
NULL
Миша
Такс, тебя видимо не поняли. Тебе нужно:

Найти регулярное выражение $search в $advice и заменить на $replacement

Так?

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

Так?

_____________
Принимаю заказы, писать в ЛС
Reh
Медведь

мне нужно в строке $advice найти строку $search(она там есть точно) и вместо нее вставить строку $replacement.

$search написано маленькими буквами, а в строке в которой ведем поиск может быть и заглавными
twin
У str_ireplace() проблема с кириллицей. Можно попробовать настроить локаль, но лучше этого не делать, а действительно заменить на preg_replace()
$advice = 'Отличное качество!!!!!'; 
var_dump(preg_replace('~(отлич)~ui', '<span class = "foundText">$1</span>', $advice));


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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Valick
twin, я уже пол часа пробую строить и локаль и пере конвертировать всё бестолку

_____________
Стимулятор ~yoomoney - 41001303250491
twin
Valick
Ну и я про то. К тому же не факт, что настроенная на одном серваке станет работать на другом.

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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.