2015-07-14 2 views
1

У меня большие проблемы с запятыми ASCII и марками котировок, поскольку они вызывают ошибку при импорте DB.Как удалить коды ASCII из текста через блокнот/Sublime или Excel

Всякий раз, когда я добавляю текст с веб-сайта, он также копирует его коды ASCII.

Пример:

()

Эта цитата знак отличается от этого

(")

() < --This кавычки является ASCII-символ, который вызывает ошибку в БД импорта и каждый раз, Мне нужно проверить и заменить его кавычкой по умолчанию (")

Любая идея, пожалуйста?

+0

Можете ли вы дать нам образец ввода? ;). –

ответ

1

Метод # 1

Вы можете сделать это с Notepad ++.

  1. Открыть файл, который вы хотите заменить

  2. Нажмите кнопку CTRL +H.

  3. В поле Find what: типа

  4. В поле Replace with: типа нормальной кавычку "

  5. Нажмите кнопку Replace all.


Способ № 2

Вы можете использовать [^\x00-\x7F]+ выражение.

  1. Открыть Notepad ++
  2. Нажмите CTRL +F
  3. Выберите Regular Expression
  4. В Find what: поле пасты [^\x00-\x7F]+
  5. Нажмите Find next

Он найдет все символы без символов ASCII. Таким образом, вы можете легко их удалить или заменить.


Способ № 3

  1. Открыть Notepat++
  2. Нажмите Search
  3. Нажмите Find characters in range...
  4. Выберите Non-ASCII Characters (128-255)
  5. Нажмите Find

Работает как метод # 2.

+0

Я знаю, но есть ли способ или программа, которые исключают символы ASII? например, когда вы открываете источник веб-сайта, он исключает символы ASII с их кодами. – YOU

+0

Хммм, название ваших вопросов, рассказывающее, что вы смотрите, как его удалить, используя блокнот. 'Как удалить коды ASII из текста через блокнот или excel' Именно поэтому я разместил это решение. –

+0

Да, но мне нужно знать, есть ли способ в этих программах, которые не позволяют вставлять ASII sybmobs? – YOU

0

Никогда не доверяйте пользователям, что это хороший способ. Если его доверенный пользователь копирует и вставляет или неизвестный пользователь заполняет ваши формы.

Вы всегда должны дезинфицировать свой вход. ВСЕГДА.

Что-то вроде

function sanitise($input, $arguments = array()) { 
    $input = htmlspecialchars($input, ENT_QUOTES | ENT_SUBSTITUTE); 

    if(array_key_exists('STRIP_TAGS') { 
     $input = strip_tags($input); 
    } 

    //..etc 
    return $input; 
} 

Пасс в опции, которые вы хотите передать (может быть раз вы просто хотите лишить теги для экземпляра, но оставить.

Но в конце концов, фильтровать все данные и не полагаться на пользователя, не забыв сделать это для вас.

Если вы используете версию PHP до PHP 5.4 вы можете поменять местами htmlspecialchars с preg_replace и совпадать с соответствующим кодом ASCII с цитатой.

$input = preg_replace('/[\x132]/', '"', $input); 
Смежные вопросы