我知道這個問題是相當古老的,但我會回答,以防萬一有人打它尋找同樣的事情。
爲YouTube,Vimeo,Wordpress,Slideshare,Hulu,Flickr和許多其他服務使用oEmbed(http://oembed.com/)。如果不在列表中,或者你想讓它更精確,您可以使用此:
http://simplehtmldom.sourceforge.net/
這是一個老的jQuery的PHP的,這意味着你可以使用HTML選擇器來獲取代碼的部分(即:所有圖像,獲取div的內容,僅返回節點的文本(無HTML)內容等)。
你可以做這樣的事情(可能更優雅的完成,但是這僅僅是一個例子):
require_once("simple_html_dom.php");
function getContent ($item, $contentLength)
{
$raw;
$content = "";
$html;
$images = "";
if (isset ($item->content) && $item->content != "")
{
$raw = $item->content;
$html = str_get_html ($raw);
$content = str_replace("\n", "<BR /><BR />\n\n", trim($html->plaintext));
try
{
foreach($html->find('img') as $image) {
if ($image->width != "1")
{
// Don't include images smaller than 100px height
$include = false;
$height = $image->width;
if ($height != "" && $height >= 100)
{
$include = true;
}
/*else
{
list($width, $height, $type, $attr) = getimagesize($image->src);
if ($height != "" && $height >= 100)
$include = true;
}*/
if ($include == true)
{
$images = $images . '<div class="theImage"><a href="'.$image->src.'" title="'.$image->alt.'"><img src="'.$image->src.'" alt="'.$image->alt.'" class="postImage" border="0" /></a></div>';
}
}
}
}
catch (Exception $e) {
// Do nothing
}
$images = '<div id="images">'.$images.'</div>';
}
else
{
$raw = $item->summary;
$content = str_get_html ($raw)->plaintext;
}
return (substr($content, 0 , $contentLength) . (strlen ($content) > $contentLength ? "..." : "") . $images);
}
試着問一個更直接的問題,如「我怎麼找一部電影的縮略圖在使用PHP的YouTube中「這可能會讓人們更敏感。 – 2009-09-05 20:17:27