удалить специальные символы в php

У меня есть много описаний со специальными символами, такими как é, ô и многие другие, и попытались удалить их с помощью:

$string = str_replace("é", " ", $string) $string = ereg_replace("é", " ", $string) $string = mysql_real_escape_string($string) 

Но ничего не работает, специальные символы все еще существуют, и описание не вставляется в базу данных. Я не могу удалить все специальные символы, потому что в описании есть теги html, которые необходимы.

Спасибо за любую помощь!

Solutions Collecting From Web of "удалить специальные символы в php"

Очень просто:

 function clean($string) { $string = str_replace(' ', '-', $string); // Replaces all spaces with hyphens. return preg_replace('/[^A-Za-z0-9\-]/', '', $string); // Removes special chars. } 

Применение:

 echo clean('a|"bc!@£de^&$f g'); 

Вывод: abcdef-g

Изменить :

Hey, just a quick question, how can I prevent multiple hyphens from being next to each other? and have them replaced with just 1? Thanks in advance!

 function clean($string) { $string = str_replace(' ', '-', $string); // Replaces all spaces with hyphens. $string = preg_replace('/[^A-Za-z0-9\-]/', '', $string); // Removes special chars. return preg_replace('/-+/', '-', $string); // Replaces multiple hyphens with single one. } 

ссылаться на эту ссылку

http://www.php.net/manual/en/function.str-replace.php

Эта функция возвращает строку или массив с замененными значениями.

Вам нужно использовать возвращаемое значение

 $string = str_replace("é", " ", $string); 

Использовать транслитерацию символов .

Пример:

 <?php $string = "ʿABBĀSĀBĀD"; echo iconv('UTF-8', 'ISO-8859-1//TRANSLIT//IGNORE', $string); // output: ABBASABAD ?> 
 mysql_real_escape_string(htmlentities($string));