1
私は[Brackets]ですべてのコンテンツをMy Stringから削除しようとしましたが、mb_strtoupperも使用しました。しかし、それは動作しません。PHP:preg_replaceとmb_strtoupperは一緒に動作しません
私が取得したい:
<artist> <![CDATA[ MALARKEY FT. STEVYN ]]> </artist> <title> <![CDATA[ TO YOU ]]> </title>
をしかし、私は得る:
ここ<artist> <![CDATA[ MALARKEY FT. STEVYN ]]> </artist> <title> <![CDATA[ TO YOU [DOMASTIC REMIX] ]]> </title>
私のコードです:
$Length = 25;
$rnd = substr(str_shuffle(md5(time())), 0, $Length);
$songs = [];
$channels = range(1,6);
// Download current songs (from 1 to 6)
foreach ($channels as $sid) {
$song = file_get_contents(sprintf('http://31.214.240.175:8000/currentsong?sid=%s', $sid));
list($artist, $title) = explode(' - ', $song, 2);
$actualImageUrl = sprintf('http://31.214.240.175:8000/playingart?sid=%s&rnd=%s', $sid, $rnd);
$placeholderImageUrl = "http://www.reyfm.de/img/nocover.png";
$imageUrl = @getimagesize($actualImageUrl) ? $actualImageUrl : $placeholderImageUrl;
$songs[] = [
'rnd' => $rnd,
'sid' => $sid,
'image' => $imageUrl,
'song' => $song,
'artist' => trim($artist),
'title' => trim($title),
'artist' => preg_replace('~\[.*\]~' , "", $artist),
'title' => preg_replace('~\[.*\]~' , "", $title),
'artist' => mb_strtoupper($artist),
'title' => mb_strtoupper($title),
];
}
unset($song);
いくつかのアイデアは?
あなたはそれらの "ブラケット"の目的を知っていますか?言い換えれば、CDATAがどのようなものかを知っていますか?通常は、XML文書内でHTMLやその他のもの(XMLと見なせるもの)をエスケープするために使用されます。 https://stackoverflow.com/questions/2784183/what-does-cdata-in-xml-mean – ArtisticPhoenix
ああ、ポイントはあなたが最初の場所でデータを読むためにSimpleXMLのようなものを使って、より良い運を持つかもしれないということですそれは確かにXMLです) – ArtisticPhoenix