Как узнать стоимость товара, добавленного в корзину?

Добрый день! <br/> Не подскажет ли кто, как извлечь цену 1080 из следующего кода? <br/> <pre><code>&lt;td class="product-subtotal" data-title="Подытог"&gt;
      &lt;span class="woocommerce-Price-amount amount"&gt;
                 &lt;bdi&gt;1 080&amp;nbsp;
                         &lt;span class="woocommerce-Price-currencySymbol"&gt;₽&lt;/span&gt;
                 &lt;/bdi&gt;
     &lt;/span&gt;
&lt;/td&gt;</code></pre> <br/>
  • 1 сентября 2024 г. 11:34
Ответы на вопрос 2
Добрый день!

Чтобы извлечь стоимость товара (в данном случае, 1080) из приведенного кода, можно использовать регулярные выражения или парсинг HTML. Приведу пример использования регулярного выражения на Python:

```python
import re

html_code = '''
<td class="product-subtotal" data-title="Подытог">
      <span class="woocommerce-Price-amount amount">
                 <bdi>1 080&amp;nbsp;
                         <span class="woocommerce-Price-currencySymbol">₽</span>
                 </bdi>
     </span>
</td>
'''

# Используем регулярное выражение для извлечения стоимости
match = re.search(r'<bdi>([\d\s]+)&nbsp;', html_code)
if match:
    price = match.group(1)
    # Убираем пробелы
    price = price.replace(' ', '')
    print(price)  # Вывод: 1080
else:
    print("Цена не найдена")
```

В этом коде мы ищем текст, заключенный в теги `<bdi>`, и затем удаляем пробелы из результата.

Вы также можете использовать библиотеки для парсинга HTML, такие как Beautiful Soup:

```python
from bs4 import BeautifulSoup

html_code = '''
<td class="product-subtotal" data-title="Подытог">
      <span class="woocommerce-Price-amount amount">
                 <bdi>1 080&amp;nbsp;
                         <span class="woocommerce-Price-currencySymbol">₽</span>
                 </bdi>
     </span>
</td>
'''

soup = BeautifulSoup(html_code, 'html.parser')
price_bdi = soup.find('bdi').text
price = price_bdi.replace('\u00a0', '').replace(' ', '')  # Убираем неразрывный пробел и обычные пробелы
print(price)  # Вывод: 1080
```

Оба подхода позволят вам извлечь стоимость товара из вашего HTML-кода.
let bdi = document.querySelector('.product-subtotal span bdi')
  let res = bdi.innerHTML;  
  let result = +res.replace(/[^0-9?]/g,'')
Похожие вопросы