Форум → Программирование → PHP для идиотов → Помогите разобраться с парсингом html-страниц
Помогите разобраться с парсингом html-страниц
Страницы: ← Предыдущая страница • Следующая страница →
- 
                    
                    
                         12 февраля 2010 г. 17:36, спустя 29 минут 5 секунд
                                    
                                preg_match_all("#<textarea.*>(.*)</textarea>#iUs", $line, $output_array_textareas); 12 февраля 2010 г. 17:36, спустя 29 минут 5 секунд
                                    
                                preg_match_all("#<textarea.*>(.*)</textarea>#iUs", $line, $output_array_textareas);
 preg_match_all("#<p><img.*src.*=.*\\\"(.*)\\\".*>#iUs", $line, $output_array_imgs);
 img находит, textarea не находит пустой массив выдает, а на Пыхе работает
- 
                    
                    
                         12 февраля 2010 г. 17:42, спустя 5 минут 47 секунд 12 февраля 2010 г. 17:42, спустя 5 минут 47 секунд
 preg_match_all('/<p>\s*<img.*?src\s*=\s*"(.*?)".*?>/is', $line, $output_array_imgs);https://smappi.org/ - платформа по созданию API на все случаи жизни
- 
                    
                    
                         12 февраля 2010 г. 18:04, спустя 21 минуту 58 секунд
                                    
                                adw0rd, img находит не находит textarea. Не находит потому что не правильный паттерн. 12 февраля 2010 г. 18:04, спустя 21 минуту 58 секунд
                                    
                                adw0rd, img находит не находит textarea. Не находит потому что не правильный паттерн.
 У меня
 <textarea> —> одна строка
 содержимое —> вторая строка
 </textarea> —> третья строка строка
 Скажите на Пыхе обрабатываемый текст преобразуется в сплошную строку?Спустя 249 сек.Ребята с гордостью выкладываю рабочий вариант)))
 $dir = 'D:/SCT/SCT2/';
 foreach(glob($dir . '*.HTML') as $file) {
 $f = fopen($file, "rt");
 $file1 = file_get_contents($file);
 //$lines = explode("\n", fread($f, filesize($file)));
 echo "Файл: ".$file;
 // foreach ($lines as $line)
 // {
 preg_match_all('/<textarea.*>(.*)<\/textarea>/iUs', $file1, $output_array_textareas);
 foreach ($output_array_textareas[1] as $textarea)
 {
 echo "\n<br />Код из textarea: " . $textarea;
 }
 preg_match_all('/<p>\s*<img.*?src\s*=\s*"(.*?)".*?>/is', $file1, $output_array_imgs);
 foreach ($output_array_imgs[1] as $img)
 {
 echo "\n<br />Код из img: " . $img;
 }
 // }
 }
- 
                    
                    
                         12 февраля 2010 г. 18:06, спустя 1 минуту 42 секунды
                                    
                                gvik, а, ссорь, не ту регулярку правил )https://smappi.org/ - платформа по созданию API на все случаи жизни 12 февраля 2010 г. 18:06, спустя 1 минуту 42 секунды
                                    
                                gvik, а, ссорь, не ту регулярку правил )https://smappi.org/ - платформа по созданию API на все случаи жизни
- 
                    
                    
                         12 февраля 2010 г. 18:09, спустя 2 минуты 46 секунд
                                    
                                adw0rd, там дело было не в регулярке, а в том как я файл распаковывал (нужно было всё в одну строку) 12 февраля 2010 г. 18:09, спустя 2 минуты 46 секунд
                                    
                                adw0rd, там дело было не в регулярке, а в том как я файл распаковывал (нужно было всё в одну строку)
- 
                    
                    
                        
- 
                    
                    
                         12 февраля 2010 г. 18:18, спустя 3 минуты 32 секунды 12 февраля 2010 г. 18:18, спустя 3 минуты 32 секунды
 нет, надо было в регулярке указать что режим многострочный
 adw0rd, там дело было не в регулярке, а в том как я файл распаковывал (нужно было всё в одну строку)https://smappi.org/ - платформа по созданию API на все случаи жизни
- 
                    
                    
                         13 февраля 2010 г. 12:46, спустя 18 часов 27 минут 43 секунды 13 февраля 2010 г. 12:46, спустя 18 часов 27 минут 43 секунды
 нет, надо было в регулярке указать что режим многострочный
 adw0rd, там дело было не в регулярке, а в том как я файл распаковывал (нужно было всё в одну строку)
 "…его пример другим наука…"
- 
                    
                    
                         13 февраля 2010 г. 13:03, спустя 17 минут 10 секунд
                                    
                                Помогите разделить сплитом строки такого вида, не получается никак 13 февраля 2010 г. 13:03, спустя 17 минут 10 секунд
                                    
                                Помогите разделить сплитом строки такого вида, не получается никак
 AP LOCKHEED: LS 1684
 ATE (AD1): 03.0137-0253.2
 BENDIX: 362288B
 FERODO: FSB 422
 LUCAS: GS 8536
 TEXTAR: 98101-0464
 я делаю так split('[\: ]', $textarea) он разделяет вот так
 AP LOCKHEED
 LS 1684 ATE (AD1)
 03.0137-0253.2 BENDIX
 362288B FERODO
 FSB 422 LUCAS
 GS 8536 TEXTAR
 98101-0464
- 
                    
                    
                        
- 
                    
                    
                         13 февраля 2010 г. 13:12, спустя 4 минуты 29 секунд
                                    
                                gvik, забудь про splitСпустя 10 сек.как и про весь сраный eregСапожник без сапог 13 февраля 2010 г. 13:12, спустя 4 минуты 29 секунд
                                    
                                gvik, забудь про splitСпустя 10 сек.как и про весь сраный eregСапожник без сапог
- 
                    
                    
                         13 февраля 2010 г. 13:32, спустя 20 минут 39 секунд
                                    
                                поправьте пожалуйста мой паттерн 13 февраля 2010 г. 13:32, спустя 20 минут 39 секунд
                                    
                                поправьте пожалуйста мой паттерн
 ошибся там строка
 AP LOCKHEED: LS 1684 ATE (AD1): 03.0137-0253.2 BENDIX: 362288B FERODO: FSB 422 LUCAS: GS 8536 TEXTAR: 98101-0464
 вот паттерн с пыхи
 '#.*[: ].*[ ]#iUs'
 вот результат
 Array
 (
 [0] => Array
 (
 [0] => AP LOCKHEED:
 [1] => LS 1684
 [2] => ATE (AD1):
 [3] => 03.0137-0253.2 BENDIX:
 [4] => 362288B FERODO:
 [5] => FSB 422
 [6] => LUCAS:
 [7] => GS 8536
 [8] => TEXTAR:
 )
 )
- 
                    
                    
                        
- 
                    
                    
                         13 февраля 2010 г. 14:26, спустя 44 минуты 16 секунд
                                    
                                я хочу разделить так "любой_символ_двоеточие_пробел_любой_символ_пробел" вот что написал "/.*:\s.*\s/iU" Правильно?Спустя 28 сек.на пыхе не получается правильный паттерн написать 13 февраля 2010 г. 14:26, спустя 44 минуты 16 секунд
                                    
                                я хочу разделить так "любой_символ_двоеточие_пробел_любой_символ_пробел" вот что написал "/.*:\s.*\s/iU" Правильно?Спустя 28 сек.на пыхе не получается правильный паттерн написать
- 
                    
                    
                         13 февраля 2010 г. 14:50, спустя 24 минуты 28 секунд
                                    
                                gvik, тут быстрее будет работать екксплод. 13 февраля 2010 г. 14:50, спустя 24 минуты 28 секунд
                                    
                                gvik, тут быстрее будет работать екксплод.
 Регулярка:
 /(.*):(.*)\n/iU - так бы я сделал
 /(.*?):(.*?)\n/i - так Эдво
 Хотя я думаю, что Эдво сделал бы так:
 /(.*):(.*)\n/
Страницы: ← Предыдущая страница • Следующая страница →
Пожалуйста, авторизуйтесь, чтобы написать комментарий!
 
         
                                     
                                     
                                     
                                     
                                    