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

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

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

 

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

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

тема: php скрипт чтения файла и удаления лишнего кода
 
 автор: pautina   (29.02.2012 в 06:03)   письмо автору
1.4 Мб
 
 

Здравствуйте мне нужно написать скрипт который бы читал текстовый файл и удалял из него лишний код.
Сам текстовый файл представляет из себя запрос создающий таблицу (его код можете просмотреть в прикреплённом файле)
В текстовом файле есть 2 участка между которыми нужно делать удаление
например для 1-ой записи
1 - участок
<P>Данный урок подготовлен для Вас командой сайта <A href=\"http://www.photoshop-master.ru\">http://www.photoshop-master.ru</A></P>

дальше идет небольшой код
2 - участок

'),
('2','Уроки Photoshop','Рубрика: Эффекты',...

для вставки 2 записи
1- участок
<P>Данный урок подготовлен для Вас командой сайта <A href=\"http://www.photoshop-master.ru\">http://www.photoshop-master.ru</A></P>

дальше идет небольшой код
2 - участок

'),
('3','Уроки Photoshop','Рубрика: Эффекты',...

Первый участок всегда одинаковый
Во втором меняется только цифра '1' или '2' или '3' и т.д.
И нужно сделать удаление любого кода между этими учасками кода
В итоге на выходе должен быть код с удалёнными учасками
<P>Данный урок подготовлен для Вас командой сайта <A href=\"http://www.photoshop-master.ru\">http://www.photoshop-master.ru</A></P>
'),
('3','Уроки Photoshop','Рубрика: Эффекты',...

Как это можно реализовать?

  Ответить  
 
 автор: pautina   (01.03.2012 в 06:03)   письмо автору
1.4 Мб
 
   для: pautina   (29.02.2012 в 06:03)
 

Давайте по частям делать.

есть 1 вариант (где нужно прочитать тесстовый файл запроса)
Нужен участок кода который прочитает все строки файла
Для поиска участков строки можно использовать

$findme='<P>Данный урок подготовлен для Вас командой сайта <A href="http://www.photoshop-master.ru">http://www.photoshop-master.ru</A></P> 
';

первый участок везде одинаковый,
второй участок - где меняется только 'цифра'

'), 
('3','Уроки Photoshop','Рубрика: Эффекты',...

Нужно описывать регулярным выражением
И после нужно удалять все что между 1 и 2 участком находится
Какую функцию для удаления можно использовать?

есть второй вариант
можно попробовать код дапроса записать в строку и использовать скрипт

<?php    

 header
('Content-type: text/plain; charset=utf-8');  
  
 
$str '
CREATE TABLE IF NOT EXISTS material_content_into49 (
    `ID` VARCHAR(255),
    `Field 1` VARCHAR(255),
    `Field 2` VARCHAR(255),
    `Field 3` longtext) ENGINE=MyISAM DEFAULT CHARSET=cp1251;

INSERT IGNORE INTO material_content_into49 (`ID`,`Field 1`,`Field 2`,`Field 3`) VALUES  
('
1','Уроки Photoshop','РубрикаЭффекты','<DIV class=TextInside><BR><A id=printPage href=\"http://www.photoshop-master.ru/lessons.php?rub=3&amp;id=1055\"><IMG alt=распечатать src=\"/img/print.png\"></A> 
<P><STRONG><A href=\"/lessons.php\">Уроки Photoshop</A></STRONG> » <STRONG><A href=\"/lessons.php?rub=1\">Рубрика: Эффекты</A></STRONG></P><BR>
<H1 style=\"TEXT-ALIGN: center\">Создаём абстрактное золотое кольцо в Фотошоп</H1>
<P align=left>В этом уроке я покажу вам, как создать абстрактную золотую сферу с эффектом дыма.</P>
<P align=center><IMG height=262 src=\"/lessons/les1689/01.jpg\" width=450></P>
<P>Для урока вам понадобятся <A href=\"http://qbrushes.net/smoke-fire/revnart-smoke-brushes/\">специальные кисти</A>.</P>
<P><STRONG>Шаг 1.</STRONG> Создаем новый документ любого размера с черным фоном. Создаем новый слой и берем <STRONG>Elliptical </STRONG><STRONG>Marquee </STRONG><STRONG>Tool</STRONG> <IMG height=23 src=\"tools/Elliptical Marquee.jpg\" width=27> (Овальное выделение) (M) с такими параметрами:</P>
<P align=center><IMG height=33 src=\"/lessons/les1689/02.jpg\" width=442></P>
<P>Зажимаем клавишу SHIFT и рисуем окружность, как показано ниже:</P>
  ... // остальной участок кода
'';  
      
$findme_one='<P>Данный урок подготовлен для Вас командой сайта <A href="http://www.photoshop-master.ru">http://www.photoshop-master.ru</A></P>';
     
$findme_dva=''), 
(
'3','Уроки Photoshop','Рубрика: Эффекты',... ' //..- здесь регулярное выражение
     // для замены в строке можно использовать
     $str = str_replace('
<p>&nbsp;</p>',"\n", $str);       
    // здесь функция для удаления из строки все что между $findme_one и $findme_dva ??

 echo '
<pre>';   
 print_r($str); 
   
?>

Весь код запроса строки в прикреплённом файле

  Ответить  
Rambler's Top100
вверх

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