Вкратце...раньше была win-1251 переделал на UTF-8...стал переделывать функции столкнулся с проблемой не правильной работы preg_replace, почему? аообще не могу понять. Вот скрипт (закомментино, то как пробывал подругому)
<form method="post">
Введите выражение и нажмите для проверки "ОК"
<input type="text" name="q" />
<input type="submit" value="ok" />
<?php
$w="НЕТ ПРОВЕРКИ.";
$rt=0;
if (isset($_POST['q']))
{
print "<br>Исходное:".$_POST['q']."<br>";
}
else
{
print "Полученное:".$w."<br><br>";
}
//$qq=iconv("UTF-8","windows-1251",$_POST['q']);
$qq=$_POST['q'];
//$utf=preg_replace('#^[a-zа-яё0-9]*$#i',"!",$qq);
$utf=preg_replace('#[^a-zа-яё0-9]*$#ui',"!",$qq);
//$rt=strlen($utf);
$rt=mb_strlen($utf,'UTF-8');
//$utf=iconv("windows-1251","UTF-8",$utf);
//если вместо "!" будет "", то
if ($rt<1)
{
echo "<strong>Описание задано в неправильном формате: RT=$rt, UTF=$utf</strong>";
}
else
{
echo "Описание задано в правильном формате: RT=$rt, UTF=$utf";
}
?>
</form>
Как вы понимаете задача не обнаружить НЕПРАВИЛЬНЫЕ символы, а тупо их удалить, для их видимости я поставил "!" вместо "".
Спустя 5 часов, 20 минут, 47 секунд (21.04.2011 - 10:52) Mirexzpalich написал(а):
Может mp_ereg_replace? Или она ужето тоже как и ereg_replace устарела???
Спустя 4 минуты, 3 секунды (21.04.2011 - 10:56) DedMorozzz написал(а):
забуть про Ерег реплейс, 5.3 уже не поддерживает его
Так же в какой кодировке сохранён текст в скрипте?
#[^a-zа-яё0-9]*$#=
#^[^a-zа-яё0-9]*$#или так
#[^a-zа-яё0-9]*#
Так же в какой кодировке сохранён текст в скрипте?
Спустя 1 час, 14 минут, 15 секунд (21.04.2011 - 12:10) GET написал(а):
Парни, я там сверху написал(над постом), что вопрос снят...
вот так сделал
$utf=preg_replace('#[^a-zа-яё0-9]#ui',"",$qq);
спасибо...
вот так сделал
$utf=preg_replace('#[^a-zа-яё0-9]#ui',"",$qq);
спасибо...
_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.