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

Форум Регулярные Выражения

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

 

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

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

тема: Как извлеч данные из строки?
 
 автор: gda   (28.05.2007 в 11:44)   письмо автору
 
 

Как извлечь из строк (строки находятся в массиве) вида :

content/2/0/0/0/4/baza/t1/1180336201.html3
content/2/0/4/4/baza/t1/1180336255.html3
content/7/2/0/0/6/baza/t1/1180336003.html3
и т.д.


Числа 1180336201, 1180336255, 1180336003??
Помогите плиз!

   
 
 автор: Trianon   (28.05.2007 в 12:00)   письмо автору
 
   для: gda   (28.05.2007 в 11:44)
 


preg_match('#content/(?:[^/]+/){7}([^\.]+)\.html3#', $arr[0], $out);

   
 
 автор: gda   (28.05.2007 в 13:33)   письмо автору
 
   для: Trianon   (28.05.2007 в 12:00)
 

Не пойму почему не работает:

mask = ("$dr/t1/*.html"); //- беру из папки имена файлов и загоняю в массив
$b = array_merge ($a, glob($mask)); 
rsort ($b);
$all=sizeof($b);

echo ("<table width=100%  border=0 cellspacing=0 cellpadding=0><tr><td width=30% valign=top><img src=$dr/img/index.gif></td><td>");
$file_array = file("$dr/txt/index.html");
        if(!$file_array)
            {
                echo("&#206;&#248;&#232;&#225;&#234;&#224; &#239;&#240;&#232; &#247;&#242;&#229;&#237;&#232;&#232;");
            }
        else
            {
         
                    for($z=0; $z < count($file_array); $z++)
                        {
                            printf("%s<br>", $file_array[$z]);
                        }
            }
echo ("</td></tr><tr><td colspan=2><br><table width=100%  border=0 align=center cellpadding=5 cellspacing=5 class=txt><tr><td><strong> &#192;&#240;&#242;. </strong></td><td><strong> &#213;&#224;&#240;&#224;&#234;&#242;&#229;&#240;&#232;&#241;&#242;&#232;&#234;&#232; </strong></td><td><strong> &#197;&#228;.&#232;&#231;&#236;. </strong></td></tr>");

for ($i=0; $i<$all; $i++)
    {    
    $text = ("$b[$i]");
$pattern = "|([\d]{10})|";
preg_match($pattern, $text, $out);
    echo '<tr><td>'; 
    include ("$dr/t1/$out[$i].html"); 
    echo '</td><td>';
    include ("$dr/t2/$out[$i].html"); 
    echo '</td><td>';
    include ("$dr/t3/$out[$i].html"); 
    echo '</td></tr>';
    }
echo ("</table></td></tr></table>");


В нижней таблице показываются только 2 последние файла из массива. ПОЧЕМУ?

   
 
 автор: Trianon   (28.05.2007 в 13:37)   письмо автору
 
   для: gda   (28.05.2007 в 13:33)
 

наверное потому, что include вызывается внутри цикла.
Вам не страшно так код писать?

   
 
 автор: gda   (28.05.2007 в 14:07)   письмо автору
 
   для: gda   (28.05.2007 в 13:33)
 

Пока учусь, а что не так? Наверно инклужу без проверки?

Вот, не работает что то ....


$arr[0] = "content/2/0/0/0/4/baza/t1/1180336201.html";
$arr[1] = "content/2/0/4/4/baza/t1/1180336255.html";
$arr[2] = "content/7/2/0/0/6/baza/t1/1180336003.html";
$all=sizeof($arr);
for ($i = 0; $i < $all; $i++)
    {
        preg_match('#content/(?:[^/]+/){7}([^\.]+)\.html#', $arr[$i], $out);
    echo ("<br>$out[$i]");
    }

   
 
 автор: Trianon   (28.05.2007 в 14:18)   письмо автору
 
   для: gda   (28.05.2007 в 14:07)
 

.

   
 
 автор: Trianon   (28.05.2007 в 14:21)   письмо автору
 
   для: Trianon   (28.05.2007 в 14:18)
 

.

   
 
 автор: Trianon   (28.05.2007 в 14:23)   письмо автору
 
   для: Trianon   (28.05.2007 в 14:21)
 


<?php
$arr
[0] = "content/2/0/0/0/4/baza/t1/1180336201.html";
$arr[1] = "content/2/0/4/4/baza/t1/1180336255.html";
$arr[2] = "content/7/2/0/0/6/baza/t1/1180336003.html";
$all=sizeof($arr);
for (
$i 0$i $all$i++)
    {
        
preg_match('#content/(?:[^/]+/){1,}([^\.]+)\.html#'$arr[$i], $out);
    echo (
"<br>$out[1]");
    }
?>

   
 
 автор: gda   (28.05.2007 в 15:24)   письмо автору
 
   для: Trianon   (28.05.2007 в 14:23)
 

СПАСИБО!!

   
Rambler's Top100
вверх

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