- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Сложно словами объяснить, поэтому сначала пример файла:
его надо разбить на два файла с таким содержимым:
и второй файл:
Понятно что проблем с разбиением двух записей нет, но у меня несколько тысяч подобных записей в одном файле. Причем надо чтобы названием файла строилось по маске данные из поля <MOL_ID>.sdf т.е. в данном случае два файла 1.sdf и 2.sdf
Реально ли такое средствами PHP реализовать?
Unlock, регуларками не пробовали? (если, конечно, не сильные ограничения по ресурсам и времени работы скрипта)
Сейчас прикину, может быть все не так сложно.
Тут скорее всего и нужно регулярными выражениями, но надо учесть что признак окончания записи $$$$ ибо количество данных для одной записи может меняться, как в примере. Для первой записи есть
> <Cas> (1)
1006-64-0
а для второй нет. А по ресурсам никаких ограничений нет.
ща, 15 минут.
только вопрос, строка: " -ISIS- 11110720122D" каждый раз одиннаковая или числа меняются?
___update
хотя, черт с ней, здесь от этих чисел не зависит вывод
Ужоззззззз :(
preg_match_all("'$$$$$'si", $file, $matches);
print $matches[0][0];
Да же explode использовать можно :)
solnikolay, Ваш пост совсем не понял, я от PHP очень далек, мне ничего не говорит то, что Вы написали.
P.S. Polimer, на всякий случай, цифры могут быть разными.
входной файл - "file.txt"
результат в этом же каталоге - 1.sdf и 2.sdf (без строк $$$$ в конце)
PHP5 или заменить file_put_contents
$file = file_get_contents('путь_к_исходному_файлу');
$pieces = explode("$$$$", $file);
foreach($pieces as $i=>$value)
{
$handle = fopen("имя_выходного_файла" . $i, "w");
fwrite($handle, $value);
fclose($handle);
}
Роман, строки $$$$ в конце новых файлов нужны. PHP 4, чем заменить file_put_contents?
Shtogrin, зачем еще проверка на MOL_ID?