Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: карта сайта
 
 автор: Mehelson   (07.11.2006 в 05:15)   письмо автору
 
 

Всем доброго !

Решил начать изучение php сразу с задачи, как многие здесь советовали...
Может выбрал не очень подходящую, но ...

карта сайта, т.е. пробежать по всем каталогам сайта, найти все файлы с расширением *.html; *.htm; *.php ну и т.д., но так как некрасиво отображать имена на латиннице, надо названия файлов выдернуть из заголовков - <title>РУССКИЕ БУКВЫ ;)</title>... и сделать их ссылками... о как.

Подскажите где об этом почитать ! Подробнее !
можно и намеки...В общем натолкните...

Спасибо !

   
 
 автор: ihoru   (07.11.2006 в 08:28)   письмо автору
 
   для: Mehelson   (07.11.2006 в 05:15)
 

Вытаскивать заголовки - для этого нужны регулярные выражения, а еще хорошо бы доставать и "описание" в теге МЕТА, если он конечно присутствует! :)

А вообще, по этому вопросу у меня у самого есть море вопросов:
1. я люблю соревноваться сам с собой и делать целый сайт в одном файле, только там выносить конфигурации, функции!
2. или даже если не один файл, то не много, но они все динамически строятся!
Как здесь быть?

А еще надо будет учесть, к примеру чтоб не искать по таким файлам как конфигурации, функции и другие настройки

   
 
 автор: Mehelson   (07.11.2006 в 10:14)   письмо автору
 
   для: ihoru   (07.11.2006 в 08:28)
 

Вместо того чтобы читать умные книжки, я читаю умный форум... короче бегу впереди телеги...
Ладно, извините за некоректные вопросы ;) - сначала читать книжки !

и все таки, как найти текст в элементе массива ? только при помощи регулярного выражения ? простое сравнение типа $array[i] == "поиск" не пройдет ?

Спасибо !

   
 
 автор: cheops   (07.11.2006 в 13:37)   письмо автору
 
   для: Mehelson   (07.11.2006 в 05:15)
 

>выдернуть из заголовков - <title>РУССКИЕ БУКВЫ ;)</title>... и сделать их ссылками... о как.
Возможно вам будут интересны темы по ссылкам
http://www.softtime.ru/forum/read.php?id_forum=6&id_theme=7152
http://www.softtime.ru/forum/read.php?id_forum=6&id_theme=19676

   
 
 автор: Mehelson   (08.11.2006 в 04:41)   письмо автору
 
   для: cheops   (07.11.2006 в 13:37)
 

Всем мерси !
Собрав куски кода по форуму + Ваша помощь - наваял вот такое :


<?php
 scan_dir
("."); 
  
  function 
scan_dir($dirname
  { 
    
$dir opendir($dirname); 
    
    while ((
$file readdir($dir)) !== false
    {        
      if(
$file != "." && $file != ".."
      {         
        if(
is_file($dirname."/".$file))
        { 
           
$text file_get_contents($dirname."/".$file);;
           
$pattern "|<title>(.*?)<\/title>|";
           
preg_match($pattern$text$out);
           echo 
"<pre><b><a href='test.net'>"
           echo 
$out[1];
           echo 
"</a></b></pre>";                 
        }         
        if(
is_dir($dirname."/".$file)) 
        { 
          
scan_dir($dirname."/".$file); 
        } 
      } 
    }     
    
closedir($dir); 
  } 
?> 


Вот... а теперь вопрос :

в принципе все работает... файлы не содержащие "нужных" тегов (рег.в.) не отображаются.
но все-таки как из каталогов тащить только файлы html и htm ? чтобы было все красиво ...

Спасибо !

   
 
 автор: cheops   (08.11.2006 в 13:03)   письмо автору
 
   для: Mehelson   (08.11.2006 в 04:41)
 

Расширение файла можно получить при помощи кода
<?php
    $ext 
strrchr($file"."); 
?>

   
 
 автор: Mehelson   (09.11.2006 в 07:47)   письмо автору
 
   для: cheops   (08.11.2006 в 13:03)
 

Спасибо !

что то в этом роде -


<?php
//---------
if(is_file($dirname."/".$file))
        { 
           
$ext strrchr($file".");
           if((
$ext == ".html") || ($ext == ".htm"))
           {
              
$text file_get_contents($dirname."/".$file);;
              
$pattern "|<title>(.*?)<\/title>|";
              
preg_match($pattern$text$out);
//-------
?>

   
 
 автор: mehelson   (09.11.2006 в 13:06)   письмо автору
 
   для: Mehelson   (09.11.2006 в 07:47)
 

или лучше даже вот так -


<?php 
 scan_dir
("."); 
  
  function 
scan_dir($dirname
  { 
    
$dir opendir($dirname); 
    
    while ((
$file readdir($dir)) !== false
    {        
      if(
$file != "." && $file != ".." && strrchr($file".") == ".html"
      {         
        if(
is_file($dirname."/".$file))
        { 
           
$text file_get_contents($dirname."/".$file);;
           
$pattern "|<title>(.*?)<\/title>|";
           
preg_match($pattern$text$out);                  
        }           
           echo 
"<pre><b><a href='";
           echo (
$dirname."/".$file);
           echo 
"'>"
           echo 
$out[1];
           echo 
"</a></b></pre>";
        }         
        if(
is_dir($dirname."/".$file)) 
        { 
          
scan_dir($dirname."/".$file); 
        } 
      }
      
closedir($dir);
    }     
       
?> 


но тогда проблема... долго выполняется нехватает времени... как быть ?
и еще - объясните вторую строку кода...

Спасибо

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования