Обновлено: я просмотрел повторяющийся ответ и добавил '/' в конец моего URL-адреса, и все еще имел ту же проблему.
Я пытаюсь создать функцию, которая использует preg_replace для удаления всего до определенного набора символов.
Как это должно работать:
$url = 'https://vimeo.com/66140585';
function getVimeoId($url) {
$videoID = preg_replace_function($url);
return videoID;
}
$ videoID должен быть: 66140585
Однако я получаю следующую ошибку: Warning: preg_replace(): No ending delimiter '#' found
Мой полный код:
function getVimeoId($url){
$videoID = preg_replace("#[&\?].+$#", "", preg_replace("#https://(?:www\.)?vimeo.com", "", $url));
echo videoID;
}
Извините, я новичок в строковых функциях PHP и все еще пытаюсь осмыслить это ...
Таким образом, добавление разделителя будет следующим: preg_replace ("# [& \?]. + $ #", "", Preg_replace ("#https: // (?: Www \.)? Vimeo.com/", "", $ url)); ? @ WiktorStribiżew
Ваш «дубликат» не помогает мне в понимании или решении.
Почему бы не использовать pathinfo ()?
@thatemployee Не используйте два вызова функции регулярного выражения, просто используйте один вызов preg_match() и покончите с этим. шаблон: regex101.com/r/i5BJT6/1 код PHP: 3v4l.org/B0As5






Согласно ошибке, ваш
"#https://(?:www\.)?vimeo.com"не имеет закрывающего разделителя.