2015-11-01 3 views
0

У меня есть строка, как показано нижеКак удалить ненужные символы ascii из строки?

$string1="then & add â...“ to"; 

специальных символов ASCII â «Â и т.д. приводит к возникновению ошибок.

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

ожидается выход после обработки:

$string1="then & add … to"; 
+0

Вы просто хотите удалить их и не заменить их чем-нибудь? – lurker

+0

@ lurker ya justwant для удаления этих символов. – user5512556

+2

Возможный дубликат [Regular Expression Sanitize (PHP)] (http://stackoverflow.com/questions/3022185/regular-expression-sanitize-php) – lurker

ответ

0

Вы должны mb_string установлены и включены в php.ini (который по умолчанию в настоящее время). На centos установите пакет php-mbstring и перезапустите веб-сервер, если он запущен через Интернет.

<?php 

$string = "aâ"; 

print $string . "\n"; 

$length = mb_strlen($string); 
$index = 0; 

$output = ''; 

while($index < $length) 
{ 
    $char = $string[$index]; 

    if(mb_check_encoding($char, 'ASCII')) 
    { 
     $output .= $string[$index]; 
    } 
    $index++; 
} 

print $output . "\n"; 
?> 

Результат:

aâ 
a 

Для замены символа с подчеркиванием, вы можете изменить код, добавляемых '_' в строке, если кодировка проверка не возвращает 1.

http://php.net/manual/en/book.mbstring.php

Смежные вопросы