что это за символы ASCII?


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

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

  1. '
  2. "

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

Author: Casey Flynn, 2011-03-25

5 answers

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

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

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

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

Http://piology.org/entities.html

Http://konieczny.be/unicode.html

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

 2
Author: Incognito, 2011-03-25 17:11:25

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

 1
Author: Jon, 2011-03-25 17:06:29

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

 1
Author: sawa, 2011-03-25 17:11:02

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

Как Очистить Специальные Символы Из Строки PHP

 0
Author: Rafael Colucci, 2011-03-25 17:06:06

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

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

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


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

Например:

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

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

 0
Author: Pascal MARTIN, 2011-03-25 17:06:54