У меня есть текст со странным апострофом, которого нет на моей клавиатуре. Мне нужно заменить это в коде, но это просто не происходит. Код будет выглядеть так:
$proj_copy="(Along Sixth Avenue)’ Project Description Designed";
$proj_copy=str_replace("’","X",$proj_copy);
Если я заменю искомый символ любым другим, это сработает.
Любая идея?
Спасибо
Вы можете сделать это наоборот и просто удалить все символы, которые не входят в определенную вами кодировку. Вы можете сделать это с помощью регулярных выражений.
Смотри сюда: Замените специальные символы на регулярные выражения
попробуйте это, если у вас это сработало ….
str_replace("\"",""",str_replace("'","''",$proj_copy))
может это поможет
Ваш код, как показано в вашем вопросе, работает.
НО вы должны убедиться, что кодировка вашего исходного кода PHP — UTF-8. Если нет, то в зависимости от вашего редактора вы можете увидеть правильный символ апострофа без фактического сохранения на диске. Если вы закроете файл и снова откроете его, вы можете увидеть, что персонаж исчез или искажен. Это будет означать, что ваша кодировка неверна.
Убедитесь, что ваша строка закодирована в том же наборе символов, что и ваш исходный код. Ваш код, как он должен работать (если строка находится в файле).