что это за символы ASCII? - PullRequest
3 голосов
/ 25 марта 2011

У меня есть два символа, которые мне нужны для поиска и замены в php-строке.

Чем-то они отличаются от:

  1. '
  2. "

Кто-нибудь знает, какую функцию я могу использовать для удаления этихиз строки php?

Ответы [ 5 ]

2 голосов
/ 25 марта 2011

Вот что происходит, когда кто-то отправляет вам электронное письмо в Outlook, так что будьте осторожны, потому что вы полностью пропускаете начальную пару этих одинарных кавычек и закрывающую пару для двойных кавычек. Но на самом деле вам нужно использовать html-коды сущностей .

Почему?Поскольку в пустыне гораздо больше, чем тех двух кодов, которые вы разместили выше, на самом деле вы показали только половину набора цитат (т.е. вы пропустили закрывающую одинарную кавычку и открыв двойную кавычку),Их сотни, их нужно кодировать лучше, чем заменять строки.

Существует несколько способов управления переводом из кодировки в html-сущность.

http://php.net/manual/en/function.htmlentities.php

http://piology.org/entities.html

http://konieczny.be/unicode.html

Есть и еще, но в основном они делают то же самое.

1 голос
/ 25 марта 2011

То, что у вас есть, называется умными цитатами или фигурными цитатамиЕсть люди, делающие подобные вещи. Крис Шифлетт

1 голос
/ 25 марта 2011

Внутри PHP-скрипта, сохраненного как UTF-8 (чтобы эти символы были правильно представлены), вы можете просто использовать str_replace для их удаления.

0 голосов
/ 25 марта 2011

Почему бы просто не использовать str_replace?

$new_str = str_replace(array('’', '“'), '', $str);

Конечно, для этого необходимо, чтобы ваши PHP-скрипты были сохранены как UTF-8.


И если это не сработает, поскольку эти символы не могут быть правильно написаны с использованием UTF-8, вам придется вернуться к использованию их шестнадцатеричных представлений.

Например:

$new_str = str_replace(array('\xC2\x91', '\xC2\x93'), '', $str);

(Не уверен, что шестнадцатеричные значения, которые я использовал, действительно соответствуют вашим двум специальным кавычкам)

0 голосов
/ 25 марта 2011

Проверьте это, я использую его, и он работает:

Как удалить специальные символы из строки PHP

...