У меня есть два символа, которые мне нужны для поиска и замены в php-строке.
'
“
Так или иначе они отличаются от:
'
"
Кто-нибудь знает, какую функцию я могу использовать, чтобы удалить их из строки php?
Это то, что происходит, когда кто-то отправляет вам электронное письмо в Outlook, так что следите, потому что вы полностью упускаете пара открытий этих одинарных кавычек и закрываете пару для двойных кавычек. Но на самом деле вам нужно использовать коды объектов html .
Зачем? Потому что в пустыне намного больше, чем те два кодекса, которые вы выложили выше, на самом деле, вы показали только половину набора котировок (т. Е. Вы пропустили закрытую одинарную цитату и открыли двойную кавычку) , Есть сотни, вам нужно кодировать их лучше, чем заменять строку.
Существует несколько способов управления преобразованием из кодирования в html-объект.
http://php.net/manual/en/function.htmlentities.php
http://piology.org/entities.html
http://konieczny.be/unicode.html
Есть и другие, но они в основном делают то же самое.
Внутри скрипта PHP, сохраненного как UTF-8 (чтобы эти символы были правильно воспроизведены), вы можете просто использовать str_replace
для их str_replace
.
То, что у вас есть, называется умными кавычками или фигурными цитатами. Есть люди, которые делают подобные вещи. Крис Шифлетт
Проверьте это, я использовал его, и он работает:
Как очистить специальные символы от строки PHP
Почему бы просто не использовать str_replace
?
$new_str = str_replace(array(''', '“'), '', $str);
Конечно, это требует, чтобы ваши скрипты PHP сохранялись как UTF-8.
И если это не работает, потому что эти символы не могут быть правильно записаны с использованием UTF-8, вам придется отказаться от использования своих шестнадцатеричных представлений.
Например :
$new_str = str_replace(array('\xC2\x91', '\xC2\x93'), '', $str);
(Не уверен, что шестнадцатеричные значения, которые я использовал, действительно являются вашими двумя специальными кавычками)