@WhatYouDoing

Как с помощью регулярки разбить строку?

Есть строка https://vk.com/photo212455842_372111103,
надо разбить на массив взять вот эту часть - 212455842 и вот эту 372111103
пытался делать так
preg_split('/\d([0-9]*)/g'), 'https://vk.com/photo212455842_372111103');

Не проканало!
  • Вопрос задан
  • 170 просмотров
Пригласить эксперта
Ответы на вопрос 2
@hufawoso
preg_match('/photo(\d+)_(\d+)/', 'https://vk.com/photo212455842_372111103', $res);
var_dump($res);
Ответ написан
Комментировать
sergiks
@sergiks Куратор тега PHP
♬♬
Предусмотрите ещё возможный знак «минус» перед первым числом, когда фото загружено в сообщество. Например, может быть https://vk.com/photo-212455842_372111103

<?php
$url = "https://vk.com/photo212455842_372111103";
if( preg_match("/(\-?\d+)_(\d+)$/", $url, $result)) {
  $owner_id = $result[1]; // 212455842
  $photo_id = $result[2]; // 372111103
  echo "$owner_id - $photo_id\n";
} else {
  echo "Не совпало чё-т..\n";
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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