Форумы портала PHP.SU » PHP » Регулярные выражения » Замена текста

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

1. Telnet - 13 Ноября, 2015 - 21:57:18 - перейти к сообщению
Всем привет
Есть примерно такой 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.  


Очень нужна Ваша помошь в этом вопросе.
2. andrewkard - 14 Ноября, 2015 - 15:24:16 - перейти к сообщению
Telnet
https://regex101[dot]com/r/uP6rZ2/2
Дальше разберетесь?
3. Telnet - 14 Ноября, 2015 - 15:41:38 - перейти к сообщению
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[dot]com/r/uP6rZ2/3
4. Telnet - 14 Ноября, 2015 - 17:34:23 - перейти к сообщению
Да точно не находит записал результат в файл
5. andrewkard - 14 Ноября, 2015 - 19:45:49 - перейти к сообщению
Попробуй preg_match, вытащишь данные и сформируешь то что нужно.

 

Powered by ExBB FM 1.0 RC1