Страница 1 из 1

$replace ведёт себя крайне странно [FIXED]

Сообщение #1Добавлено: 03.12.2009, 14:57
zencd
Есть %title% == "Music in a bar". Функция $replace ведёт себя очень странно.

Заменяются только целые слова:

$replace(%title%, 'in', 'xxx') ---> Music xxx a bar
$replace(%title%, 'a', 'xxx') ---> Music in xxx bar

Но не самое первое:

$replace(%title%, 'Music', 'xxx') ---> Music in a bar

Отдельные буквы в составе слова вообще не заменяются:

$replace(%title%, 'u', 'xxx') ---> Music in a bar

Что это, доктор?!

P.S. foobar2000 0.9.6.9
P.P.S Спецификация функции не так сложна: "Replaces all occurrences of string B in string A with string C".

Сообщение #2Добавлено: 03.12.2009, 19:52
Izotop
Уберите ненужные пробелы в ::::
$replace(%title%,'Music', 'xxx')
$replace(%title%,'u', 'xxx')
И кстати в одинарные кавычки не обязательно брать буквы и цифры при замене функцией $replace.
Код: Выделить всё
$replace(%title%,Music,xxx)
$replace(%title%,u,xxx)
Кавычки нужны для замены символов исключений::: таких как квадратные и круглые скобки к примеру
*пыво*

Сообщение #3Добавлено: 03.12.2009, 20:01
zencd
О, спасибо!

Сообщение #4Добавлено: 03.12.2009, 20:11
Izotop
А ещё добавлю:
Код: Выделить всё
$replace(%title%,Music,xxx)
$replace(%title%,u,xxx)
Этот код можна упростить вот так:::
Код: Выделить всё
$replace(%title%,Music,xxx,u,xxx)
Иногда бывает необходимость заменять несколько значений в одном теге ;)
*пыво*

Сообщение #5Добавлено: 03.12.2009, 22:32
zencd
Мда. Действительно "Секреты фубар" (-: