За последние 24 часа нас посетили 17223 программиста и 1303 робота. Сейчас ищут 1636 программистов ...

Как достать текст из файла

Тема в разделе "Регулярные выражения", создана пользователем vano007, 29 авг 2010.

  1. vano007

    vano007 Активный пользователь

    С нами с:
    24 ноя 2009
    Сообщения:
    37
    Симпатии:
    0
    В php файле есть определенный текст, находящийся между <? include ("shablon/standart.txt") ?> и <? include("shablon/baseend.txt"); ?>
    Подскажите пожалуйста, как достать этот текст с помощью регулярки?
     
  2. vano007

    vano007 Активный пользователь

    С нами с:
    24 ноя 2009
    Сообщения:
    37
    Симпатии:
    0
    Почему не работает это выражение?
    PHP:
    1. $data = file_get_contents ("001.php");
    2. if (preg_match('/standart\.txt.+?\?\>\s+(.+?)\<\?/', $data, $matches))
    3. {
    4.   echo $matches[1];
    5. }
     
  3. Gromo

    Gromo Активный пользователь

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    PHP:
    1.  
    2. <?php
    3.  
    4.   $data = file_get_contents("001.php");
    5.   /*<?php ("shablon/standart.txt"); ?> */
    6.   $regexp = '#<\?(?:php)?\s+include\("shablon/standart.txt"[^>]*>(.+)';
    7.   /*<?php include("shablon/baseend.txt"); ?>*/
    8.   $regexp.= '<\?(?:php)?\s+include\("shablon/baseend.txt"[^>]+>#sUi';
    9.  
    10.   if (preg_match($regexp, $data, $matches)){
    11.     echo '<pre>';
    12.     echo htmlspecialchars(print_r($matches[1], true));
    13.     echo '</pre>';
    14.   }
    15.  
    16. ?>
    17.  
    PHP:
    1.  
    2. <?php include("shablon/standart.txt"); ?>
    3. HERE IS SOME TEXT
    4. <?php echo 'bla-bla-bla'; ?>
    5. <?php include("shablon/baseend.txt"); ?>
    6.  
    output:
     
  4. Superk

    Superk Активный пользователь

    С нами с:
    5 фев 2010
    Сообщения:
    32
    Симпатии:
    0
    еще одна cms)