この関数を使用して、RSS vimeo から必要な情報を読み取り、表示します。
$url=array('http://vimeo.com/channels/hdnature/videos/rss');
foreach($url as $value){
$homepage = file_get_contents($value);
$movies = new SimpleXMLElement($homepage);
foreach($movies->channel->item as $opt){
$title= $opt->title;
$tittle=mysql_real_escape_string($title);
$link=$opt->link;
$links=mysql_real_escape_string($link);
$des=$opt->description;
$dess=mysql_real_escape_string($des);
//Use that namespace
$namespaces = $opt->getNameSpaces(true);
//Now we don't have the URL hard-coded
$dc = $opt->children($namespaces['dc']);
//echo $dc->publisher;
//echo $dc->creator;
//echo $link;
$imgpattern = '/href="(.*?)"/i';
preg_match($imgpattern, $des, $matches);
$imageurl['image'] = $matches[1];
echo $imageurl['image'];
$tag = '/">(.*?)<\/a>/';
preg_match($tag, $des, $matches);
$tagurl['name'] = $matches[1];
echo $tagurl['name'];
<description></description>
フィールド内に次のタグのリストがあります。
<p><strong>Tags:</strong>
<a href="http://vimeo.com/tag:art">Art</a>,
<a href="http://vimeo.com/tag:film">Film</a>,
<a href="http://vimeo.com/tag:movie">Movie</a>,
<a href="http://vimeo.com/tag:cinema">Cinema</a>,
<a href="http://vimeo.com/tag:creation">Creation</a>,
<a href="http://vimeo.com/tag:concept">Concept</a>,
<a href="http://vimeo.com/tag:experimental">Experimental</a>,
<a href="http://vimeo.com/tag:sound">Sound</a>,
<a href="http://vimeo.com/tag:music">Music</a>,
<a href="http://vimeo.com/tag:motion">Motion</a>,
<a href="http://vimeo.com/tag:copyleft">Copyleft</a>
and
<a href="http://vimeo.com/tag:videoart">Videoart</a>
</p>
Art、Movie、Cinema などの単語のみをデータベースに保存するために検索します。
括弧付きのリストを保存する必要があり、preg_match を使用しようとしています。
私はこの機能を持っています:
$tag = '/</strong>(.*?)</a></p>/';
preg_match($tag, $des, $matches);
$taglist['name'] = $matches[1];
echo $taglist['name'];
しかし、私は望んでいる結果ではなく、エラーのみを受け取ります。