ничего не происходит. ни ошибок, ни предупреждений.Дак если вы не видите ни того ни другого, то надо или включить их наконец, или смотреть, что пишет в логи ваш сервер. И тогда увидите как минимум notice: Undefined offset: 1 in ....
<?php
$subject = 'Консультация по статье 18.1 1245.40 руб. Прочие услуги: 200 руб.';
$price1 = $price2 = '';
if ($total = preg_match_all('~\d+(?:\.\d+)?(?=\h?руб\.)~', $subject, $result)) {
$price1 = $result[0][0];
if ($total == 2) {
[$price1, $price2] = $result[0];
}
}
var_dump($price1, $price2);
Может символ какой?Может у вас там неразрывный пробел, который при публикации поста на форуме преобразуется местным парсером в обычный пробел.
// Что ищем
$search = 'testsite@gmail.com';
$filename = './db.txt';
$h = @fopen($filename, 'r') or die("Файл '$filename' не найден!");
$counter = 1;
while (! feof($h)) {
$line = fgets($h);
// Если есть соответствия, вывести номер и текст строки
if (stripos($line, $search) !== false) {
echo '№ ', $counter, '. ', $line, '<br>';
}
++$counter;
}
fclose($h);