Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> не срабатывает preg_replace, помогите найти ошибку в коде.. 
:(
    Опции темы
Memphis
Дата 23.6.2006, 22:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 23.6.2006

Репутация: нет
Всего: нет



Не могу найти ошибку..и preg_replace не работает..и в функции table_parser() не обрабатывается цикл..
<?php
$file_name="table.txt";
$f=fopen($file_name, "r") or die("Can't load file $file_name. Maybe this file does not exist??");

function table_parser(){
$s = "<br>";
$s=$s."<table border=1 align=center width=100%><tr>";
for ($i=1; $i<sizeof($fh) ; $i++){
    echo $text_out;
    $str=fgets($fh, 4096);
    $cell=explode("|", $str);
    $s=$s."<tr align=center>";
        for($k=0; $k<sizeof($cell); $k++){
            if (i==1) $s=$s."<th>$cell[$k]</th>";
            else{    
                $s=$s."<td>";
                $s=$s."$cell[$k]";
                $s=$s."</td>";
            }
        }
    $s=$s."</tr>";
    }
$s=$s."</table>";
return $s;
}

$fh=fopen($file_name, "r");
$text=fread($fh,4000);
$text=preg_replace("/n","<n>",$text);
$text_out=preg_replace("/\[ontable\](.*)\[offtable\]/ie",' '.table_parser('\\1').' ',$text);
?> 
PM MAIL   Вверх
Mal Hack
Дата 23.6.2006, 22:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 16
Всего: 261



Цитата(Memphis @  23.6.2006,  23:01 Найти цитируемый пост)
$text_out=preg_replace("/\[ontable\](.*)\[offtable\]/ie",' '.table_parser('\\1').' ',$text);

Юзай preg_replace_callback
И вообще код далеко не оптимальный.
ЗЫ: Пользуйся кнопкой код. 
PM ICQ   Вверх
Memphis
Дата 24.6.2006, 08:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 23.6.2006

Репутация: нет
Всего: нет



ок, буду знать..новичек я... 
PM MAIL   Вверх
$дмитрий
Дата 24.6.2006, 22:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 19.6.2004

Репутация: 2
Всего: 45



Код

$text_out=preg_replace("#\[ontable\](.*)\[offtable\]#ie","table_parser('$1')",$text);
 
PM MAIL   Вверх
Memphis
Дата 25.6.2006, 23:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 23.6.2006

Репутация: нет
Всего: нет



не хочет он работать и все на том..тормозит на первом цикле функции.. 
PM MAIL   Вверх
Memphis
Дата 26.6.2006, 03:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 23.6.2006

Репутация: нет
Всего: нет



Mal Hack, помоги оптимизировать и подскажи ошибку если не сложно..
 
PM MAIL   Вверх
RoDeX
Дата 26.7.2006, 08:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 11.10.2005

Репутация: нет
Всего: нет



От так попробуй:

Код

<?php
$file_name="table.txt";
$f=fopen($file_name, "r") or die("Can't load file $file_name. Maybe this file does not exist??");

function table_parser(){
$s = "<br>";
$s=$s."<table border=1 align=center width=100%><tr>";
for ($i=1; $i<sizeof($fh) ; $i++){
    echo $text_out;
    $str=fgets($fh, 4096);
    $cell=explode("|", $str);
    $s=$s."<tr align=center>";
        for($k=0; $k<sizeof($cell); $k++){
            if (i==1) $s=$s."<th>$cell[$k]</th>";
            else{
                $s=$s."<td>";
                $s=$s."$cell[$k]";
                $s=$s."</td>";
            }
        }
    $s=$s."</tr>";
    }
$s=$s."</table>";
return $s;
}

$fh=fopen($file_name, "r");
$text=fread($fh,4000);
$text=str_replace("\n","<n>",$text);
$text_out=preg_replace("#\[ontable\](.*)\[offtable\]#ie","table_parser('$1')",$text);
?>
 
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Тексты | Следующая тема »


 




[ Время генерации скрипта: 0.0645 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.