Добрый день!
Проблема, с которой вы столкнулись, может возникать не из-за наличия дефиса, а скорее из-за неверной обработки HTML-кода или неправильного обращения к атрибуту.
Вот пример того, как можно извлечь значение атрибута `data-price` с использованием библиотеки PHP Simple HTML DOM Parser:
```php
<?php
// Подключаем библиотеку
include('simple_html_dom.php');
// Ваш HTML-код
$html = '<span data-price="6287.86">6 287,86 р.</span>';
// Создаем объект DOM из HTML-кода
$dom = new simple_html_dom();
$dom->load($html);
// Находим элемент, который содержит атрибут data-price
$element = $dom->find('span[data-price]', 0); // 0 указывает, что мы хотим первый найденный элемент
if ($element) {
// Извлекаем значение атрибута data-price
$dataPrice = $element->getAttribute('data-price');
echo "Значение data-price: " . $dataPrice;
} else {
echo "Элемент не найден.";
}
?>
```
### Объяснение кода:
1. **Подключение библиотеки**: Убедитесь, что вы правильно подключили библиотеку PHP Simple HTML DOM Parser.
2. **Создание объекта DOM**: Мы создаем объект `simple_html_dom` и загружаем в него HTML-код.
3. **Поиск элемента**: Используя метод `find()`, мы ищем элемент `span`, у которого есть атрибут `data-price`.
4. **Получение значения атрибута**: Если элемент найден, мы извлекаем значение атрибута `data-price` с помощью метода `getAttribute()`.
### Замечания:
- Убедитесь, что ваш HTML-код корректен и полностью загружен.
- Убедитесь, что вы используете последнюю версию библиотеки, так как возможно, что в старых версиях есть проблемы с обработкой некоторых атрибутов.
Попробуйте воспользоваться приведенным выше кодом, он должен помочь вам извлечь нужное значение атрибута. Если у вас остались вопросы, не стесняйтесь задавать!