我想要实现的目标与Facebook的帖子类似。
当用户输入包含URL时,触发一个名为get embed的函数,该函数检查URL的整个输入,然后转到相应的oembed端点。
如果输入只是一个URL,这可以正常工作,但如果它是一个带注释的URL,那么它就不起作用。
http://www.youtube.com/watch?v=WsfdW5z9iSg
这将有效
http://www.youtube.com/watch?v=WsfdW5z9iSg This is awesome
这不起作用。
public function parse_url($message) {
if (strpos($message, 'youtube.com') !== false) {
$filter = filter_sanitize_url($message);
$format = "&format=json";
$val = urlencode($filter);
$ep = "http://www.youtube.com/oembed?url=";
$full = $ep . $val . $format;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $full);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
curl_close($ch);
$decodedOutput = json_decode($output, true);
return $decodedOutput;
}
}