我正在努力使用API获取一些歌词,并将歌词字符串转换为单词数组.我在preg_replace函数中得到了一些不寻常的行为.当我使用var_dump进行一些调试时,我看到var_dump为字符串“you”返回值10,这告诉我可能有错误.之后,preg_replace很奇怪.
这是我的代码:
$source = get_chart_lyrics_data("madonna","frozen");
$pieces = explode("\n", $source);
$lyrics = array();
for($i=0;$i
if($i>10){
$words = explode(" ",$pieces[$i]);
foreach($words as $_word){
if($_word=="")
continue;
var_dump($_word);
$word = strtolower($_word);
var_dump($word);
$word = trim($word);
var_dump($word);
$word = preg_replace("/[^A-Za-z ]/", '', $word);
var_dump($word);
$lyrics[$word]++;
}
}
}
这是此代码返回的前4行:
string(10) “You”
string(10) “you”
string(10) “you”
string(8) “lyricyou”
为什么var_dump为“你”返回值10?为什么preg_replace就是这样的呢?
谢谢.