i made this code to change the instagram embed to a preview image
$strings = array('https://instagram.com/p/BanWWFtBz6O', 'BanWWFtBz6O');
$searchs = array('/instagram\.com\/p\/([a-zA-Z0-9]+)/', '/([a-zA-Z0-9]+)/');
$replaces = array('instagram.com/p/$1/media/?size=l', 'https://instagram.com/p/$1/media/?size=l');
$soc_instagram = preg_replace($searchs,$replaces,$strings);
but i have a problem with that code, first when i try to put the first value in $strings https://instagram.com/p/BanWWFtBz6O it change to https://instagram.com/p/BanWWFtBz6O/media/?size=l that should be ok
the problem when i try to put second value from $strings BanWWFtBz6O (only the ID of instagram post) it change to
https://instagram.com/p/https/media/?size=l://https://instagram.com/p/instagram/media/?size=l.https://instagram.com/p/com/media/?size=l/https://instagram.com/p/p/media/?size=l/https://instagram.com/p/BaQsAubg6H3/media/?size=l/https://instagram.com/p/media/media/?size=l/?https://instagram.com/p/size/media/?size=l=https://instagram.com/p/l/media/?size=l
did i miss something? please help
==================================================================== how about youtube code?
$string = array('https://www.youtube.com/watch?v=QTrPMYYGam8', 'QTrPMYYGam8');
$search = array('/www.youtube\.com\/watch\?v=([a-zA-Z0-9_\-+?:]+)/', '/([a-zA-Z0-9_\-+?:]+)/');
$replace = array('i.ytimg.com/vi/$1/hqdefault.jpg', 'https://i.ytimg.com/vi/$1/hqdefault.jpg');
$soc_youtube = preg_replace($search,$replace,$string);