joost 1. Определяем список допустимых символов 2. Удаляем все недопустимые. Например, если допустимы только буквы (русские и латинские) и цифры: PHP: <?php $newstr = preg_replace('%[^A-Za-zА-Яа-я0-9]%', '', $oldstr); ?> или PHP: <?php $newstr = preg_replace('%[^a-zа-я\d]%i', '', $oldstr); ?> какой больше нравится…
AlexGousev я бы еще + добавил перед закрывающим %, чтоб он находил группы символов, а не посимвольно...
Там сказано как игнорировать (удалить) спец. символы. А как их заменить на html представление как заменяют "<", ">" и т.д. . Возможно ли это?
PHP: $a = "< - ™ - & - > - ©"; print htmlentities($a, ENT_QUOTES, 'cp1251'); все нормально работает. В html-source страницы: Код (Text): < - ™ - & - > - © Если не указывать кодировку, то из этих символов не преобразовывается (tm). Если хотите, чтоб на экран выводилось то, что в исходнике, можно так извратиться: PHP: $a = "< - ™ - & - > - ©"; print htmlentities(htmlentities($a, ENT_QUOTES, 'cp1251')); Тогда в исходнике все амперсанды заменятся на &