Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Замена текста

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Telnet
Отправлено: 13 Ноября, 2015 - 21:57:18
Post Id


Частый гость


Покинул форум
Сообщений всего: 223
Дата рег-ции: Май 2011  


Помог: 1 раз(а)




Всем привет
Есть примерно такой HTML
CODE (html):
скопировать код в буфер обмена
  1.  
  2.             <div><span style="font-size: medium;"><u>Интерактивная доска VS Board IR-9082</u>&nbsp;</span><span style="font-size: smaller;">(диагональ 82 дюйма)</span></div>
  3.             <div>&nbsp;</div>
  4.             <div style="text-align: justify;">Размер доски &nbsp;........................................................................................ &nbsp;1760х1320 мм</div>
  5.             <div style="text-align: justify;">Размер рабочей поверхности &nbsp;.......................................................... &nbsp;1635х1227 мм</div>
  6.             <div style="text-align: justify;">Разрешение &nbsp;................................................................................................ &nbsp;4096х4096</div>
  7.             <div style="text-align: justify;">Соотношение сторон &nbsp;............................................................................................... &nbsp;4:3</div>
  8.             <div style="text-align: justify;">Тип поверхности &nbsp;....................................................................... &nbsp;белая, антибликовая</div>
  9.             <div style="text-align: justify;">Технология &nbsp;............................................................................................ &nbsp;инфракрасная</div>
  10.             <div style="text-align: justify;">ОС &nbsp;................................................................................................ &nbsp;XP, Vista, Win7, Win8</div>
  11.             <div style="text-align: justify;">Гарантия &nbsp;....................................................................................................... &nbsp;12 месяцев</div>
  12.             <div style="text-align: right;"><span style="background-color: rgb(153, 255, 102);"><span style="font-size: small;"><strong>Цена: 55 700р.</strong></span></span><span style="font-size: small;"><strong><span style="background-color: rgb(0, 255, 0);"><span style="background-color: rgb(255, 255, 255);">&nbsp;&nbsp;</span></span></strong></span></div>
  13.  

В нем нужно с помошью регулярных выражений вычленить блоки
Размер доски &nbsp;........................................................................................ &nbsp;1760х1320 мм
Гарантия &nbsp;....................................................................................................... &nbsp;12 месяцев
Короче там где это дурацкое многоточие и произвести их замену по такому образцу
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <div style="background-color: black">
  3. <div style="float: left; background-color: white">Размер рабочей поверхности</div>  
  4. <div style="float: right; background-color: white">1635х1227 мм</div>
  5. <div style="clear: both"></div>
  6. </div>
  7.  


Очень нужна Ваша помошь в этом вопросе.
 
 Top
andrewkard
Отправлено: 14 Ноября, 2015 - 15:24:16
Post Id


Участник


Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014  


Помог: 30 раз(а)




Telnet
https://regex101[dot]com/r/uP6rZ2/2
Дальше разберетесь?
 
 Top
Telnet
Отправлено: 14 Ноября, 2015 - 15:41:38
Post Id


Частый гость


Покинул форум
Сообщений всего: 223
Дата рег-ции: Май 2011  


Помог: 1 раз(а)




andrewkard пишет:
andrewkard

Ого пасиб
дальше да как пользоваться preg_replace почитаю доку
(Добавление)
Что то не все находит http://prntscr[dot]com/92o4mv
PHP:
скопировать код в буфер обмена
  1.  
  2. header('Content-Type: text/html; charset=windows-1251');
  3. $subject = file_get_contents('1.txt');
  4. $pattern = '/([А-Яа-яЁё,A-Za-z\s]+)&nbsp;\.+\s&nbsp;([\dх\s:А-Яа-яЁё,A-Za-z]+)/';
  5. $replacement = "<div style='background-color: black'><div style='float: left; background-color: white'>\$1</div><div style='float: right; background-color: white'>\$2</div><div style='clear: both'></div></div>";
  6. echo preg_replace($pattern, $replacement, $subject);
  7.  

В аттаче файл 1.txt
(Добавление)
и тут тоже показывает что вроде как видит
https://regex101.com/r/uP6rZ2/3
Скачать файл: 1.txt
Скачан раз: 1

(Отредактировано автором: 14 Ноября, 2015 - 17:16:26)

 
 Top
Telnet
Отправлено: 14 Ноября, 2015 - 17:34:23
Post Id


Частый гость


Покинул форум
Сообщений всего: 223
Дата рег-ции: Май 2011  


Помог: 1 раз(а)




Да точно не находит записал результат в файл
Скачать файл: 2.txt
Скачан раз: 1
 
 Top
andrewkard
Отправлено: 14 Ноября, 2015 - 19:45:49
Post Id


Участник


Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014  


Помог: 30 раз(а)




Попробуй preg_match, вытащишь данные и сформируешь то что нужно.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Регулярные выражения »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB