| |
|
|
| | Всем доброго !
Решил начать изучение php сразу с задачи, как многие здесь советовали...
Может выбрал не очень подходящую, но ...
карта сайта, т.е. пробежать по всем каталогам сайта, найти все файлы с расширением *.html; *.htm; *.php ну и т.д., но так как некрасиво отображать имена на латиннице, надо названия файлов выдернуть из заголовков - <title>РУССКИЕ БУКВЫ ;)</title>... и сделать их ссылками... о как.
Подскажите где об этом почитать ! Подробнее !
можно и намеки...В общем натолкните...
Спасибо ! | |
| |
|
|
| |
|
|
| |
для: Mehelson
(07.11.2006 в 05:15)
| | | Вытаскивать заголовки - для этого нужны регулярные выражения, а еще хорошо бы доставать и "описание" в теге МЕТА, если он конечно присутствует! :)
А вообще, по этому вопросу у меня у самого есть море вопросов:
1. я люблю соревноваться сам с собой и делать целый сайт в одном файле, только там выносить конфигурации, функции!
2. или даже если не один файл, то не много, но они все динамически строятся!
Как здесь быть?
А еще надо будет учесть, к примеру чтоб не искать по таким файлам как конфигурации, функции и другие настройки | |
| |
|
|
| |
|
|
| |
для: ihoru
(07.11.2006 в 08:28)
| | | Вместо того чтобы читать умные книжки, я читаю умный форум... короче бегу впереди телеги...
Ладно, извините за некоректные вопросы ;) - сначала читать книжки !
и все таки, как найти текст в элементе массива ? только при помощи регулярного выражения ? простое сравнение типа $array[i] == "поиск" не пройдет ?
Спасибо ! | |
| |
|
|
| |
|
|
| |
для: 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 | |
| |
|
|
| |
|
|
| |
для: 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 ? чтобы было все красиво ...
Спасибо ! | |
| |
|
|
| |
|
|
| |
для: Mehelson
(08.11.2006 в 04:41)
| | | Расширение файла можно получить при помощи кода
<?php
$ext = strrchr($file, ".");
?>
|
| |
| |
|
|
| |
|
|
| |
для: 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 в 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);
}
?>
|
но тогда проблема... долго выполняется нехватает времени... как быть ?
и еще - объясните вторую строку кода...
Спасибо | |
| |
|
|