を使用して、文字列から有効な文字とヘブライ語の Unicode 文字のみを維持しようとしていますpreg_replace
。
次の文字列でエラーが発生します。
$PLAINText1 = preg_replace('/[^(\x20-\x7F),(\x05D0-\x05F2)]*/','', $PLAINText);
エラーは次のとおりです。
コンパイルに失敗しました: オフセット 25 インチの文字クラスの範囲が正しくありません....
エラーがこのフレーズにのみあることは既に知っています:(\x05D0-\x05F2)
ここでこの問題に関する多くの投稿を読みましたが、解決策が見つかりませんでした。関連する投稿の 1 つは、Unicode に } を追加することを提案したため、この文字列では次のようになります。
$PLAINText1 = preg_replace('/[^(\x20-\x7F),(\x{05D0}-\x{05F2})]*/','', $PLAINText);
別のエラーが発生しています:
\x{...}
オフセット 22 では、シーケンス内の文字値が大きすぎます ...
助けてください。