使用带有preg_match_all的重音符号

时间:2016-06-28 19:27:39

标签: php

我正在用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是包含和弦的第一个$linepreg_match_all函数应该在$array中为我提供每个和弦的位置(如[F#])我可以像那样访问

foreach($array as $item)
{
    $position = $item[0][1];
    ...
}

但是我的问题是我在chordpro中有重音符号é,è或à这个函数似乎将它们视为2个字符,我认为它不使用UTF-8但我怎么能用它UTF-8? 谢谢你的回答。

0 个答案:

没有答案