Показать сообщение отдельно

  #7  
Старый 23.11.2008, 02:00
Solker
Участник форума
Регистрация: 04.05.2006
Сообщений: 161
Провел на форуме:
389768

Репутация: 158
По умолчанию

То же самое, только на PHP и в 2 раза меньше.
Плюс корректно работает с UTF-8.

PHP код:
<?php

$dir 
scandir('.');
foreach(
$dir as $filename)
{
  if(
$filename == '.' or $filename == '..') continue;
  if(
substr($filename,-7) != 'torrent') continue;

  
$handle fopen($filename"r");
  
$buffer fgets($handle4096);
  
fclose($handle);
  
  
preg_match('#\[torrents.ru\].(.+?).torrent#',$filename,$id);
  
$result explode(':'$buffer);

  foreach(
$result as $key => $date)
  {
    if(
substr($date,0,4)=='name') {
      
$name str_replace(' ','.',substr($result[$key+1],0,strlen($result[$key+1])-2));
      break;
    } 
  }
  
  if(
detectUTF8($name)) $name iconv('UTF-8''windows-1251'$name);
  
  echo 
"[{$id[1]}].$name.torrent<br>\n"//Or Rename File
}

function 
detectUTF8($string)
{
        return 
preg_match('%(?:
        [\xC2-\xDF][\x80-\xBF]        # non-overlong 2-byte
        |\xE0[\xA0-\xBF][\x80-\xBF]               # excluding overlongs
        |[\xE1-\xEC\xEE\xEF][\x80-\xBF]{2}      # straight 3-byte
        |\xED[\x80-\x9F][\x80-\xBF]               # excluding surrogates
        |\xF0[\x90-\xBF][\x80-\xBF]{2}    # planes 1-3
        |[\xF1-\xF3][\x80-\xBF]{3}                  # planes 4-15
        |\xF4[\x80-\x8F][\x80-\xBF]{2}    # plane 16
        )+%xs'
$string);
}

?>
Не понимаю, зачем под такой бред создавать отдельную тему, и ставить свои копирайты.

Последний раз редактировалось Solker; 23.11.2008 в 03:30..
 
Ответить с цитированием