Спустя 30 минут (21.03.2010 - 14:51) andyp написал(а):
Пример:
Выведет
string(12) "abcd e fghi"
То есть выражение оставляет только буквенно-числовые символы и пробелы.
$str = "abc\td e f'ghi\n";
$res = htmlspecialchars(preg_replace('/[^\w ]/is', '', $str));
var_dump($res);
Выведет
string(12) "abcd e fghi"
То есть выражение оставляет только буквенно-числовые символы и пробелы.
Спустя 21 минута, 33 секунды (21.03.2010 - 15:13) gash1sh написал(а):
andyp, проверил - не работает Может быть, я что-то делаю не так.
Конкретизирую задачу. Представленный ниже скрипт, принимает текст из textarea.
Конкретизирую задачу. Представленный ниже скрипт, принимает текст из textarea.
<?phpПри вводе текста
if(!$_POST['text'])
header("location: index.php?errcode=empty");
echo "<html><body><center>";
$_POST['text'] = trim(strtoupper($_POST['text']));
preg_replace('/[^\w ]/is', '', $_POST['text']);
echo "<table align = \"center\">";
echo "<tr><td align = \"left\"><b>Количество символов в тексте:</b> ".strlen($_POST['text'])."</td></tr>";
echo "</table>";
echo "</center></body></html>";
?>
1скрипт выдаёт значение 4, т. к. перенос строки и возврат каретки всё таки не учитываются. После обработки строки
1
if ifСкрипт выдаёт значение 5, т. к. удаляется только первый символ табуляции с помощью функции trim. В общем не работает Для меня очень важно определить количество печатных символов, т. к. в дальнейшем мне будет необходимо подсчитать частоту появления каждого из них в тексте.
Спустя 1 день, 6 часов, 12 минут, 11 секунд (22.03.2010 - 21:25) andyp написал(а):
Ээ..
Цитата |
preg_replace('/[^\w ]/is', '', $_POST['text']); |
Здесь же результат работы функции ни чему не присваивается.