К содержимому

Документация

PHP SDK: Текст, цены и числа

Методы доступны через $ctx->text(). Они преобразуют уже полученные значения и не отправляют запросы к сайту.

Общий справочник SDK

Методы

clean

clean(?string $value): string

Убрать HTML-теги, повторяющиеся пробелы и пробелы по краям.

$name = $ctx->text()->clean('  <b>Ремень</b>   приводной  ');

Результат и особенности. Возвращает «Ремень приводной». Для null возвращается пустая строка.

money

money(?string $value): ?float

Превратить строку с ценой в число, учитывая пробелы, запятую и символ валюты.

$price = $ctx->text()->money('1 500,50 ₽');

Результат и особенности. Возвращает 1500.5 или null, если число не удалось распознать. Валюту метод не конвертирует.

digits

digits(?string $value): string

Оставить только цифры.

$number = $ctx->text()->digits('арт. 001-42');

Результат и особенности. Возвращает строку «00142». Ведущие нули сохраняются, буквы удаляются: для буквенного артикула этот метод не подходит.

between

between(string $subject, string $start, string $end): ?string

Взять текст между первым вхождением start и последующим end.

$sku = $ctx->text()->between('Артикул: A-1; наличие: есть', 'Артикул: ', ';');

Результат и особенности. Возвращает «A-1» или null, если одна из границ не найдена.

extract

extract(string $pattern, string $subject, int $group = 1): ?string

Взять одну группу первого совпадения регулярного выражения.

$sku = $ctx->text()->extract('/Артикул:\s*([A-Z0-9-]+)/u', 'Артикул: A-1');

Результат и особенности. Возвращает «A-1» или null. group=1 по умолчанию; group=0 возвращает совпадение целиком.