Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.04.2014, 23:38   #1
flexx123
Новичок
Джуниор
 
Регистрация: 29.04.2014
Сообщений: 6
Восклицание Нужна помощь - поиск текста и вставка PHP

Здравствуйте! Очень нужна Ваша помощь в решении следующего вопроса. Есть база данных такого формата:

(2107, 'admin1', '2014-01-11 19:30:06', '<!--dle_image_begin:http://site.com/uploads/posts/2014-01/_image.jpg--><img src=\"http://site.to/uploads/posts/2014-01/_image.jpg\" style=\"float:left;\" alt=\"Title“ Terrore in mare aperto\" title=\"Title“ Text\" /><!--dle_image_end-->', 'Description¦', 'year|2003||fullinfo|http://www.site.net/847474743/||info...ain.com/123456', 'Text', 'Text', '16', 'text', 0, 1, 1, 1, 0, 1, 'd', '', ''),
(2108, 'admin1', '2014-01-11 19:30:06', '<!--dle_image_begin:http://site.com/uploads/posts/2014-01/_image.jpg--><img src=\"http://site.to/uploads/posts/2014-01/_image.jpg\" style=\"float:left;\" alt=\"Title“ Terrore in mare aperto\" title=\"Title“ Text\" /><!--dle_image_end-->', 'Description¦', 'year|2003||fullinfo|http://www.site.net/847474743/||info...ain.com/789789', 'Text', 'Text', '16', 'text', 0, 1, 1, 1, 0, 1, 'd', '', ''),

Необходимо спарсить строку и записать ее в файл, далее спарсить вторую строку и записать в файл ниже предыдущей, и так по всему файлу. Думаю можно использовать поиск от http://www.domain.com/ и до ', т.к. текст в начале строки всегда одинаков. Например находим строку http://www.domain.com/123456 и записываем ее в файл. Далее видим строку http://www.domain.com/789789 и записываем следующей строкой в файл, и так до конца базы. Помогите пожалуйста с реализацией данной задачи.
flexx123 вне форума Ответить с цитированием
Старый 30.04.2014, 01:11   #2
ATL
Форумчанин
 
Аватар для ATL
 
Регистрация: 26.01.2007
Сообщений: 278
По умолчанию

Вам нужна ссылка, которая находится между |domain| и ', 'Text' ? Уточните, тогда напишу регулярку.
ATL вне форума Ответить с цитированием
Старый 30.04.2014, 08:23   #3
flexx123
Новичок
Джуниор
 
Регистрация: 29.04.2014
Сообщений: 6
По умолчанию

Цитата:
Сообщение от ATL Посмотреть сообщение
Вам нужна ссылка, которая находится между |domain| и ', 'Text' ? Уточните, тогда напишу регулярку.
Да. И по видимому цикл, для повторения поиска-копирования-записи
flexx123 вне форума Ответить с цитированием
Старый 30.04.2014, 09:05   #4
ATL
Форумчанин
 
Аватар для ATL
 
Регистрация: 26.01.2007
Сообщений: 278
По умолчанию

PHP код:
<?php

$file 
file('1.txt'); // исходный файл
$pattern '/^\([\W\S]*domain\|([\w\S]*)\'[\W\S]*$/';

$result 'result.txt'// конечный файл

foreach ($file as $line) {
    
preg_match($pattern$line$matches);
    
file_put_contents($result$matches[1] . "\n"FILE_APPEND LOCK_EX);
}
ATL вне форума Ответить с цитированием
Старый 30.04.2014, 14:09   #5
flexx123
Новичок
Джуниор
 
Регистрация: 29.04.2014
Сообщений: 6
По умолчанию

Цитата:
Сообщение от ATL Посмотреть сообщение
PHP код:
<?php

$file 
file('1.txt'); // исходный файл
$pattern '/^\([\W\S]*domain\|([\w\S]*)\'[\W\S]*$/';

$result 'result.txt'// конечный файл

foreach ($file as $line) {
    
preg_match($pattern$line$matches);
    
file_put_contents($result$matches[1] . "\n"FILE_APPEND LOCK_EX);
}
Спасибо. Пытаюсь разобрался в регулярке. '[\W\S]*$ - эта часть отвечает за поиск ','Text' ? Пытаюсь ее заменить на $pattern = '/^\([\W\S]*domain\|([\w\S]*)\|[\W\S]*$/'; но останавливается не на первом попавшемся символе |, а через несколько

Допустим запись может быть вида |domain| или |domain_part1|, но урл не меняется (http://domain.com/454353) - как в этом случае добавить условие?

p.s.при малейшем изменении выражения выскакивает Notice: Undefined offset: 1 in /Applications/XAMPP/xamppfiles/htdocs/test/index.php on line 10

Последний раз редактировалось flexx123; 30.04.2014 в 18:03.
flexx123 вне форума Ответить с цитированием
Старый 01.05.2014, 17:51   #6
flexx123
Новичок
Джуниор
 
Регистрация: 29.04.2014
Сообщений: 6
Радость

Разобрался. Спасибо!
flexx123 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вставка текста в HTML объект, средствами PHP wr_vu PHP 17 30.03.2012 15:35
обработка текста в Си, нужна помощь!!! nikalerochka Помощь студентам 0 19.12.2009 21:32
заполнение текста(нужна помощь) sv2311 Помощь студентам 1 09.09.2009 17:08
Редактирование текста. Нужна помощь! quf Паскаль, Turbo Pascal, PascalABC.NET 3 12.04.2008 08:53