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

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

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Помогите с парсером конфига

Сообщения:  [1-10]   [11-17] 

 
 автор: Trianon   (23.11.2009 в 15:04)   письмо автору
 
   для: adminn   (23.11.2009 в 03:10)
 

что делаете не так?
достаете функции случайным тыком и применяете их вслепую, вместо того чтоб выяснить, что делает каждая из них.

  Ответить  
 
 автор: cheops   (23.11.2009 в 12:49)   письмо автору
 
   для: adminn   (23.11.2009 в 03:10)
 

fpassthru() выводит содержимое файла в окно браузера, лучше воспользоваться функцией file_get_contents()
<?php
$text 
file_get_contents($file); 
preg_match_all('/ServerName[\s]([^\s]+)\b/'$text$out); 

for (
$i=0$icount($out[0]); $i++) { 
  echo 
$out[1][$i] . "<br>"

?>

  Ответить  
 
 автор: adminn   (23.11.2009 в 03:10)   письмо автору
 
   для: Trianon   (22.11.2009 в 23:12)
 

Что не так делаю, результат получаю весь файл(
set_time_limit(300);

$file = fopen("config.txt","r");
  
  if(!file)
{
      echo("Ошибка открытия файла");
}
      else  {

$text == fpassthru($file);

preg_match_all('/ServerName[\s]([^\s]+)\b/', $text, $out);

for ($i=0; $i< count($out[0]); $i++) {

  echo "<pre>";
  echo $out[1][$i] . "\n";
  echo "<pre>";


   
}

  Ответить  
 
 автор: adminn   (23.11.2009 в 02:35)   письмо автору
 
   для: adminn   (23.11.2009 в 02:02)
 

del

  Ответить  
 
 автор: adminn   (23.11.2009 в 02:02)   письмо автору
 
   для: Trianon   (22.11.2009 в 23:12)
 

почитал еще у вас в доках , написал все как хотел , проверил, работает! только вот если я загоняю весь конфиг , он большо, то получаю пустой результат , подскажите?

  Ответить  
 
 автор: Trianon   (22.11.2009 в 23:12)   письмо автору
 
   для: adminn   (22.11.2009 в 21:52)
 

а кто Вас заставляет в рабочем коде использовать print_r ?
print_r нужна для отладки и демонстрации - но никак не для работы.
выводите элемнты массива по одному в цикле.

  Ответить  
 
 автор: adminn   (22.11.2009 в 21:52)   письмо автору
 
   для: Trianon   (22.11.2009 в 21:05)
 

там конфиг около 1000 сайтов , мне нужно привести его в рабочий вид , я же не могу сидеть и удалять [0] => и т.п подскажите как вывести только результат?

  Ответить  
 
 автор: Trianon   (22.11.2009 в 21:05)   письмо автору
 
   для: adminn   (22.11.2009 в 20:48)
 

а в чем разница?

  Ответить  
 
 автор: adminn   (22.11.2009 в 20:48)   письмо автору
 
   для: cheops   (21.11.2009 в 18:45)
 

Огромное спасибо! разобрался работает!
Только вот выводит в масиве такого вида:
(
    [0] => www.errvin.info
    [1] => www.errvin.info
    [2] => www.errvin.info
)

а мне нужно привести список к виду:
www.errvin.info
www.errvin.info
www.errvin.info
Подскажите , а то не могу начать работать(

  Ответить  
 
 автор: cheops   (21.11.2009 в 18:45)   письмо автору
 
   для: adminn   (21.11.2009 в 16:20)
 

Странно... у меня этот скрипт работает (выдает три позиции)... попробуйте изменить регулярное выражение на следующее
'/ServerName[\s]+([^\s]+)\b/'

  Ответить  

Сообщения:  [1-10]   [11-17] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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