String getYouTubeUrl(String content) {
RegExp regExp = RegExp(
r'((?:https?:)?\/\/)?((?:www|m)\.)?((?:youtube\.com|youtu.be))(\/(?:[\w\-]+\?v=|embed\/|v\/)?)([\w\-]+)(\S+)?'
);
String matches = regExp.stringMatch(content);
if (matches == null) {
return ''; // Always returns here while the video URL is in the content paramter
}
final String youTubeUrl = matches;
return youTubeUrl;
}
void main() {
print(getYouTubeUrl(
""" <figure
class="wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio">
<div class="wp-block-embed__wrapper">
<iframe
title="| Title here |"
width="1170"
height="878"
src="https://w...content-available-to-author-only...e.com/embed/OWGnQ61kLzw?feature=oembed" // <-- I want to get this link frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
allowfullscreen
></iframe>
</div>
</figure>
"""
));
}
ICAgIFN0cmluZyBnZXRZb3VUdWJlVXJsKFN0cmluZyBjb250ZW50KSB7CiAgICAgIFJlZ0V4cCByZWdFeHAgPSBSZWdFeHAoCiAgICAgICAgICByJygoPzpodHRwcz86KT9cL1wvKT8oKD86d3d3fG0pXC4pPygoPzp5b3V0dWJlXC5jb218eW91dHUuYmUpKShcLyg/Oltcd1wtXStcP3Y9fGVtYmVkXC98dlwvKT8pKFtcd1wtXSspKFxTKyk/JwogICAgICApOwogICAgICBTdHJpbmcgbWF0Y2hlcyA9IHJlZ0V4cC5zdHJpbmdNYXRjaChjb250ZW50KTsKICAgICAgaWYgKG1hdGNoZXMgPT0gbnVsbCkgewogICAgICAgIHJldHVybiAnJzsgLy8gQWx3YXlzIHJldHVybnMgaGVyZSB3aGlsZSB0aGUgdmlkZW8gVVJMIGlzIGluIHRoZSBjb250ZW50IHBhcmFtdGVyCiAgICAgIH0KICAgICAgZmluYWwgU3RyaW5nIHlvdVR1YmVVcmwgPSBtYXRjaGVzOwogICAgICByZXR1cm4geW91VHViZVVybDsKICAgIH0KCgoKdm9pZCBtYWluKCkgewogICAKICAgIHByaW50KGdldFlvdVR1YmVVcmwoCiAgICAiIiIgPGZpZ3VyZQogICAgICBjbGFzcz0id3AtYmxvY2stZW1iZWQteW91dHViZSB3cC1ibG9jay1lbWJlZCBpcy10eXBlLXZpZGVvIGlzLXByb3ZpZGVyLXlvdXR1YmUgd3AtZW1iZWQtYXNwZWN0LTQtMyB3cC1oYXMtYXNwZWN0LXJhdGlvIj4KICAgICAgPGRpdiBjbGFzcz0id3AtYmxvY2stZW1iZWRfX3dyYXBwZXIiPgogICAgICAgIDxpZnJhbWUKICAgICAgICAgIHRpdGxlPSJ8IFRpdGxlIGhlcmUgfCIKICAgICAgICAgIHdpZHRoPSIxMTcwIgogICAgICAgICAgaGVpZ2h0PSI4NzgiCiAgICAgICAgICBzcmM9Imh0dHBzOi8vdy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uZS5jb20vZW1iZWQvT1dHblE2MWtMenc/ZmVhdHVyZT1vZW1iZWQiIC8vIDwtLSBJIHdhbnQgdG8gZ2V0IHRoaXMgbGluayAgICAgICAgICBmcmFtZWJvcmRlcj0iMCIKICAgICAgICAgIGFsbG93PSJhY2NlbGVyb21ldGVyOyBhdXRvcGxheTsgY2xpcGJvYXJkLXdyaXRlOyBlbmNyeXB0ZWQtbWVkaWE7IGd5cm9zY29wZTsgcGljdHVyZS1pbi1waWN0dXJlIgogICAgICAgICAgYWxsb3dmdWxsc2NyZWVuCiAgICAgICAgPjwvaWZyYW1lPgogICAgICA8L2Rpdj4KICAgIDwvZmlndXJlPgogICAgIiIiCikpOwp9Cg==