1

この正規表現は JavaScript で正しく動作しています (先頭に空白があります):

 *\u002D *| *\u003A *| *\u002C *| *\u002F *| *\u2012 *| *\u2013 *| *\u2014 *| *\u2015 *| *\u2018 *| *\u2019 *| *\u0022 *| *\u0027 *

いくつかの Unicode 文字 (ダッシュ、コロン、アポストロフィなど) も空白 1 つだけに置き換えます。たとえば、「単語: 単語 - 単語」は「単語 単語 単語」になります。そのため、特定のユニコード文字を文字列から削除しようとしています。

次に、この正規表現を PHP で使用する必要があります。単一のユニコード文字が PHP 正規表現で次のように見える必要があることを知っています: \x{xxxx} したがって、新しい正規表現は次のようになり、まったく機能しません...

/ *\x{002D} *| *\x{003A} *| *\x{002C} *| *\x{002F} *| *\x{2012} *| *\x{2013} *| *\x{2014} *| *\x{2015} *| *\x{2018} *| *\x{2019} *| *\x{0022} *| *\x{0027} */
4

1 に答える 1

2

正規表現に修飾子を使用する限り、/u正常に機能するはずです。

ギリシャ語の大文字 phiを使用した:

echo preg_match('/\x{03a6}/u', 'Φ');
于 2013-05-07T18:41:48.600 に答える