我正在用PHP创建一个工具来解析Chordpro音乐表格式,如下所示:
{t:This is a chordpro}
{t:This is the subtitle}
[A#]This is th[Bm]e first lin[E]e.
And th[Cm]is is the sec[F#]ond line.
我想使用preg_match_all
这样的函数:
preg_match_all("/\[([^\]]*)\]/", $line, $array, PREG_SET_ORDER | PREG_OFFSET_CAPTURE);
此处$line
是包含和弦的第一个$line
,preg_match_all
函数应该在$array
中为我提供每个和弦的位置(如[F#])我可以像那样访问
foreach($array as $item)
{
$position = $item[0][1];
...
}
但是我的问题是我在chordpro中有重音符号é,è或à这个函数似乎将它们视为2个字符,我认为它不使用UTF-8但我怎么能用它UTF-8? 谢谢你的回答。