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

正規表現は find other string と同じです。

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 に答える