Есть переменная допустим
$my
в ней содержаться русские и английские имена, как сделать так чтоб выводились например только английские? Спустя 14 минут, 18 секунд (19.08.2010 - 14:30) Basili4 написал(а):
$a="asdsaZввввввZ";
preg_match_all('#[A-z]+#',$a,$m);
echo implode('',$m[0]); //asdsaZZ
preg_match_all('#[A-z]+#',$a,$m);
echo implode('',$m[0]); //asdsaZZ
Спустя 10 минут, 42 секунды (19.08.2010 - 14:41) DedMorozzz написал(а):
ото махинация ))))
Этот вариант будет раза в 2 быстрее)))
$text = preg_replace ('#[А-яёЁ]+#u','',$text);
Этот вариант будет раза в 2 быстрее)))
Спустя 1 минута, 13 секунд (19.08.2010 - 14:42) Renden написал(а):
Basili4Благодарю, работает, только вопрос в мане написано:
"preg_match_all -- Выполняет глобальный поиск шаблона в строке"
"implode -- Объединяет элементы массива в строку"
про поиск и шаблон понятно все, а откуда здесь берется массив для использования функции implode?
"preg_match_all -- Выполняет глобальный поиск шаблона в строке"
"implode -- Объединяет элементы массива в строку"
про поиск и шаблон понятно все, а откуда здесь берется массив для использования функции implode?
Спустя 3 минуты, 47 секунд (19.08.2010 - 14:46) DedMorozzz написал(а):
Renden, смотри на 3й параметр. И ещё раз перечитай ман.
Так же имеет смысл обратить внимание на 3й пост. Хотя это вовсе не обязательно.
Так же имеет смысл обратить внимание на 3й пост. Хотя это вовсе не обязательно.
Спустя 15 минут (19.08.2010 - 15:01) Renden написал(а):
DedMorozzz, про скрипт вроде вьехал, спасибо, ваше решение к сожалению не работает Warning: preg_replace() [function.preg-replace]: Compilation failed: invalid UTF-8 string at offset 2 in /var/www/testnew.php on line 3
ругаеться на кодировку, дабы не заморачиваться я воспользовался 2 постом
ругаеться на кодировку, дабы не заморачиваться я воспользовался 2 постом

Спустя 2 минуты, 35 секунд (19.08.2010 - 15:03) DedMorozzz написал(а):
убери букву "u", после решётки. А лучше - привести всю кодировку в УТФ8. У тя не она стоит. И по сему и ругается.
А использовать код, который просто работает - напоминает Попова)))
А использовать код, который просто работает - напоминает Попова)))
Спустя 8 секунд (19.08.2010 - 15:03) Basili4 написал(а):
DedMorozzz
Твой вариант быстрее. но он строку модифицирует.
А так конечно у тебя код лучше я что то не подумал.
Я думал может есть какой то вариант собрать все буквы англ в один эл. но что то не получилось. Потом прочитал почему. Ты кстати как то говорил что писал статью про регулярки даш почитать?
Твой вариант быстрее. но он строку модифицирует.
А так конечно у тебя код лучше я что то не подумал.
Я думал может есть какой то вариант собрать все буквы англ в один эл. но что то не получилось. Потом прочитал почему. Ты кстати как то говорил что писал статью про регулярки даш почитать?
Спустя 1 минута, 41 секунда (19.08.2010 - 15:05) DedMorozzz написал(а):
В принципе там не 1 статья
Эт к твину, када он на ирбише её выложит. Я её написал на форуме ирбиша.
А что бы не "модифицировало, достаточно сохранить просто в другую переменную))))
написать не $text= , a $text2222 = . И ВСЁ! )

А что бы не "модифицировало, достаточно сохранить просто в другую переменную))))
написать не $text= , a $text2222 = . И ВСЁ! )
Спустя 19 часов, 25 минут, 40 секунд (20.08.2010 - 10:31) Renden написал(а):
Я извиняюсь конечно, теперь мне понадобилось быбрать только русские имена, и фигня в том что выбирать то он выбирает, но видимо делает какие-то преобразования с кодировкой и получаеться на выходе такая бойда: ������ (неверная кодировка)
Может я чет не так делаю?
<?php
$dir = opendir ("/var/www/test/");
while (false !== ($file = readdir($dir)))
{
if (( $file != ".") && ($file != ".."))
{
$ifile = preg_replace ('#[А-яёЁ]+#','',$file);
$source = "/var/www/test/$file";
$destrus = "/var/www/$ifile";
if(!rename($source, $destrus)) {
echo "Ошибка перемещения файла $source...<br />\n";
}
}
}
?>
Может я чет не так делаю?
Спустя 47 минут, 12 секунд (20.08.2010 - 11:18) Basili4 написал(а):
используй iconv
Спустя 21 минута, 23 секунды (20.08.2010 - 11:39) Renden написал(а):
Basili4
Я использовал, только толку.. он переводит не в ????? а в крякозябры, как я узнаю в какую именно preg_replace перевел кодировку? Просто если убрать функцию preg_replace то копирует то он нормально, сохраняя русские имена не тронутыми.
Я использовал, только толку.. он переводит не в ????? а в крякозябры, как я узнаю в какую именно preg_replace перевел кодировку? Просто если убрать функцию preg_replace то копирует то он нормально, сохраняя русские имена не тронутыми.
$a = iconv("исходная то какая?", "UTF-8", $ifile);
Спустя 6 минут, 16 секунд (20.08.2010 - 11:46) Basili4 написал(а):
$a = iconv("windows-1251", "UTF-8", $ifile);
$a // в Утф 8
$a // в Утф 8
Спустя 36 минут, 42 секунды (20.08.2010 - 12:22) DedMorozzz написал(а):
и вот теперь ДОБАВЬ модификатор U
Спустя 8 минут, 5 секунд (20.08.2010 - 12:30) Renden написал(а):
Basili4
Трабл в том что скрипт лежит на linux и собственно директории тоже линуксовые, и кодировка там хз какая на директории..
Может как-то можно реализовать обратную функцию проверки на анл яз т.е допустим ваша функция выводит тока английские имена, из этого сделать вывод оставшихся. т.е руских?
Просто неохото делать 2 скрипта, типа первым копируем анл имена, а другим скриптом копируем все что есть в директории (естественно там остануться только руские после выполнения 1 скрипта). Кривой вариант я считаю(
Простите что наверное вас уже задолбал..
Трабл в том что скрипт лежит на linux и собственно директории тоже линуксовые, и кодировка там хз какая на директории..
Может как-то можно реализовать обратную функцию проверки на анл яз т.е допустим ваша функция выводит тока английские имена, из этого сделать вывод оставшихся. т.е руских?
Просто неохото делать 2 скрипта, типа первым копируем анл имена, а другим скриптом копируем все что есть в директории (естественно там остануться только руские после выполнения 1 скрипта). Кривой вариант я считаю(
Простите что наверное вас уже задолбал..

Спустя 9 минут, 1 секунда (20.08.2010 - 12:39) Renden написал(а):
Во я дурак... простите, перечитал свой пост и понял что можно действительно так сделать только в 1 скрипте, сначала тупо скопировать все англ, а потом уже всю директорию с оставшимися рускими..прошу прощения... спасиб=)