0

を含む別のWebサイトからエクスポートされたXMLがありますCDATAが、これCDATAはWebサイトへの参照が実際にはURLリンクである場合です。CDataこれを解析できますPHPが、テキストとして表示されます。CDataこれをURLがあるWebサイトにリンクする方法はありますか?CDataまたは、代わりに解析するためにURLを含める必要がありますか?

---他のウェブサイトから---例:www.otherwebsite.com

例:XMLからのノード

<SongTitle><![CDATA[This is a song link at www.otherwebsite.com]]></SongTitle>

どうもありがとう。

4

1 に答える 1

0

ファイルを文字列にロードしたら、 preg_match_all を試してください。

$string=  '<![CDATA[This is a song link at www.otherwebsite.com]]>'; // string of data or your xml file...

preg_match_all('/<!\[(CDATA)\[\s*(.*?)\s*\]\]>/',$string,$out);

$current_link = $out[2][0]; // print_r($_out); to see what is in this new array...
$current_link = str_replace("This is a song link at ","",$current_link); // now remove clutter
echo $current_link;

複数の CData を処理したい場合....

$var =  ' sdf sdf sdf<![CDATA[This is a song link at www.awesome.com]]> sdf sdf sd<![CDATA[This is a song link at www.google.com]]><![CDATA[This is a song link at www.amazon.com]]>';

preg_match_all('/<!\[(CDATA)\[\s*(.*?)\s*\]\]>/',$var,$out);
$array_of_links = $out[2];

foreach($array_of_links as $link){
    $current_link = str_replace("This is a song link at ","",$link);
    echo $current_link;
    echo "<br />";
}
于 2012-11-02T08:43:05.600 に答える