0

我正在尝试编写一个能够在正文中找到像这样 ♫ 的音符的应用程序。我知道我需要在 PHP 中使用 pregmatch,但我不知道如何编写表达式。有任何想法吗?

4

3 回答 3

1

如果应用u模式修饰符,则可以匹配 Unicode 范围。

$str = '♪ ♩ abc ♫ def ♫ ♬';
preg_match_all('~[\x{2669}-\x{266F}]~u', $str, $matches);
var_dump($matches);

这匹配以下字符:

♩  ‎2669  QUARTER NOTE
♪  ‎266A  EIGHTH NOTE
♫  ‎266B  BEAMED EIGHTH NOTES
♬  ‎266C  BEAMED SIXTEENTH NOTES
♭  ‎266D  MUSIC FLAT SIGN
♮  ‎266E  MUSIC NATURAL SIGN
♯  ‎266F  MUSIC SHARP SIGN
于 2012-06-19T07:18:14.350 回答
0

正则表达式与查找其他字符串相同。

preg_match_all('/♫/', 'abc ♫ ddd', $matches);
var_dump($matches);
于 2012-06-19T07:04:18.377 回答
0

一般来说,这是 preg_match 在 php 中的工作方式

 if ( preg_match("/Find this string/", "From this string") )     {
      echo "A match was found.";
 } else {
      echo "A match was not found.";
 }

查找音符可能不是一项简单的任务,但如果您正在搜索的字符串仅包含数字和字母,您可能会尝试这样做来帮助您。

preg_match("/[^a-zA-Z0-9\s]/", $string_you_are_searching_from);

我希望这有帮助。

于 2012-06-19T07:13:54.113 回答