kindofbear
@kindofbear
Веб-разработчик

Как заставить грёбаный regexp работать правильно?

Есть html код вида
<tr onclick="javascript:ShowTipLayer(this,event,'/pages/blocks/add_basket.asp/id/3JM3/idf/3O', 30,30);">

                  <td class="goods">
Полоса горячекатаная 5x50
                  </td>
                  <td>
                     5
                  </td>
                  <td>
                     Ст3пс/сп                                          
                  </td>
                  <td>
                     6000

                  </td>
                  <td class="goods">
                     Москва
                  </td>
                  <td>
                     &gt;10т


                  </td>

                  <td>
                     39&nbsp;490
                  </td>
                  <td>
                     39&nbsp;390
                  </td>
                  <td>
                     39&nbsp;390
                  </td> 

                   
               </tr>

есть регексп вида:
echo preg_match_all('/([\d]+&nbsp;[\d]+)/', $parsing_data_raw[$item["id"]]["table"], $matches);

в $parsing_data_raw[$item["id"]]["table"] скрывается html

На моём сервере регексп выдаёт ничего kupit-metal.ru/admin/api.php?parse
На серверах с онлайн регекспами типа regexr.com и www.phpliveregex.com всё ок. Грешил на кодировку — всё в utf-8, конвертирование перед регекспов в вин1251 не помогло. Не знаю, куда копать
  • Вопрос задан
  • 187 просмотров
Решения вопроса 1
DevMan
@DevMan
бугагашечка))
конечно оно ничего не находит - в коде числа разделены простым пробелом, а не &nbsp;
итого - /([\d]+\s[\d]+)/ прекрасно матчит.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Fragster
@Fragster
помогло? отметь решением!
вероятно, нужно добавить модификатор multiline, и, возможно, utf-8 php.net/manual/ru/reference.pcre.pattern.modifiers.php
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы