У меня есть строки, содержащие символы, такие как \x{1f601}
, которые я хочу заменить некоторым текстом.str_replace для символов UTF-16
Когда я делаю это с помощью preg_replace, было бы что-то вроде:
preg_replace('/\x{1f601}/u', '######', $str)
Однако, это не похоже на работу с str_replace:
str_replace("\x{1f601}", '######', $str)
Как я могу сделать такие замены работы с str_replace?
Ваш текст буквально содержит 9-значную длинную строку «\ x {1f601}» или содержит символ «»? И как UTF-16 играет в это? – deceze
Вы говорите, что 'preg_replace' работает, но' str_replace' не делает? Также * UTF-16 * - это способ кодирования символов Unicode. У вас работает PHP в режиме UTF-8? – roeland