Не срабатывает регулярка php

асс

Мой дом здесь!
Регистрация
13 Окт 2006
Сообщения
762
Реакции
230
Всем добрый день.

Проблема следующая.
есть код работает.

PHP:
$res_f=<<<EOFF
<td width='15%' data-sort='0'><a class='blue' href='/ru/trade/NMC/RUR'>NMC/RUR</a></td>
<td width='15%'>Namecoin</td>
<td width='10%' class="green" data-sort='+9'>+9%</td>
<td width='15%' data-sort='0.001'>0.001 BTC</td>
<td width='10%'>₽110.00000001</td>
<td width='18%' class='green'>₽235.99999986</td>
<td width='17%' class='red'>₽101.00000025</td>
</tr>
EOFF;
preg_match("/<td.*?data-sort=\'0\'><a.*?href=\'.*?>(.*?)\/RUR<\/a><\/td>.*?data-sort.*?>(.*?)<\/td>.*?<td .*?>₽(.*?)<\/td>/mis",$res_f,$ok);
 var_dump( $ok)  ;

Код ниже не работает

текстовый файл tpl2.txt
HTML:
<td width='15%' data-sort='0'><a class='blue' href='/ru/trade/NMC/RUR'>NMC/RUR</a></td>
<td width='15%'>Namecoin</td>
<td width='10%' class="green" data-sort='+9'>+9%</td>
<td width='15%' data-sort='0.001'>0.001 BTC</td>
<td width='10%'>₽110.00000001</td>
<td width='18%' class='green'>₽235.99999986</td>
<td width='17%' class='red'>₽101.00000025</td>
</tr>


PHP:
  $res_f =file_get_contents("tpl2.txt");
preg_match("/<td.*?data-sort=\'0\'><a.*?href=\'.*?>(.*?)\/RUR<\/a><\/td>.*?data-sort.*?>(.*?)<\/td>.*?<td .*?>₽(.*?)<\/td>/mis",$res_f,$ok);
 var_dump( $ok)  ;

Модификаторы убирал, менял не пойму в чем проблема.

Подскажите пожалуйста в чем проблема?
 
попробуй вывести полученное содержимое $res_f через print_f ("$res_f");
посмотри что находится в переменной. может там каша полная.
 
Последнее редактирование:
Он требует второй аргумент, а просто prontf выводит ошибку.
echo res_f Выводит контент как надо.


Warning: printf(:( Too few arguments
 
print_r($res_f);exit;

or better:

Код:
echo "<pre>";
print_r($res_f);
echo "</pre>";
exit;
 
print_r($res_f);exit;

or better:

Код:
echo "<pre>";
print_r($res_f);
echo "</pre>";
exit;

Полностью поддерживаю.
Сначала необходимо посмотреть, что оно там вообще загоняет в строку, а потом уже применять preg_match.
Код:
$res_f =file_get_contents('tpl2.txt');
var_dump( $res_f )  ;
 
кодировку файла первым делом посмотри, как "₽" хранится
 
на будущее для отладки регулярных выражений можно использовать regex101.com
 
Назад
Сверху