Я пытаюсь вычеркнуть цену с веб-страницы, используя PHP и регулярные выражения. Цена будет в формате £ 123,12 или $ 123,12 (т. Е. В фунтах или долларах).
Я загружаю содержимое с помощью libcurl. Выход которого затем идет в preg_match_all
. Так это выглядит примерно так:
$contents = curl_exec($curl);
preg_match_all('/(?:\$|£)[0-9]+(?:\.[0-9]{2})?/', $contents, $matches);
Пока все просто. Проблема в том, что PHP вообще ничего не соответствует - даже если на странице есть цены. Я сузил его до проблемы с символом «£» - PHP, похоже, не нравится.
Я думаю, что это может быть проблемой кодировки. Но что бы я ни делал, я не могу заставить PHP соответствовать этому! У кого-нибудь есть идеи?
(Edit: я должен отметить, если я пытаюсь использовать Regex Test Tool с использованием того же регулярного выражения и содержимого страницы, он отлично работает)