parschakov
@parschakov
Начинающий изучать PHP и JS

Как извлечь цифры и точку из строки, между определенными символами?

Здравствуйте! Подскажите пожалуйста, всю голову уже сломал, никак не получается.

Допустим есть строка:
width: 287.942px; height: 162px;

Как к примеру извлечь только первое число (287.942)? И как извлечь только второе число(162)?

Пока получилось извлечь только все цифры с точкой:
preg_replace('/[^\d.]/', '', 'width: 287.942px; height: 162px;');

p.s. обещаю прочесть книжку по регуляркам и впредь такие вопросы больше не задавать:)
  • Вопрос задан
  • 111 просмотров
Решения вопроса 3
lidacriss
@lidacriss
wtf
preg_match('#width:\s*(\d+(?:\.\d+)?)px.*?height:\s*(\d+(?:\.\d+)?)px#is', $str, $match)

получим массив $match с содержимым типа:
$match = [
  '0' => 'width: 287.942px; height: 162px;',
  '1' => '287.942',
  '2' => '162',
];


по отдельности:
width
preg_match('#width:\s*(\d+(?:\.\d+)?)px#is', $str, $match)

height
preg_match('#height:\s*(\d+(?:\.\d+)?)px#is', $str, $match)
Ответ написан
Stalker_RED
@Stalker_RED
Это у вас не извлечение, а замена всех символов кроме цифр.

https://regex101.com/r/lgKuDJ/1
https://regex101.com/r/lgKuDJ/2
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы