問題タブ [non-latin]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - preg_match は入力文字列とは異なる記号を返します
[解決済み] 修飾子/u
を正規表現に追加すると、この問題が解決されます。コメントの MI の功績:)
次のコードを検討してください。
を使用して非ラテン文字を含む可能性のある単語をフィルタリングするために使用しています。また、末尾の文字列の正規表現記号を\p{L}
使用していないことにも注意してください$
preg_match
問題は、コードをローカルで実行すると、次の出力が表示されることです。
PHPサンドボックスでコードを実行してみましたが、同様のものが出力されます。
少なくとも今回は元のvar_dump
単語を台無しにしていないことに注意してください。
何が起こっている?preg_match を使用すると単語が変わるのはなぜですか? $
これに関する最悪の部分は、正規表現の最後に追加すると、 NOT MATCHになります。これらの変換されたシンボルは、文字列の末尾などとして解釈できなかったと思われるためです。私を助けてください
編集: 私が実行しているファイル エンコーディングは "text/x-php; charset=utf-8" に設定されています
Edit2: さらに、regex101.comを使用し、正規表現"^[\p{L}] を使用する場合+$」と「Trimiteţi」という単語が一致しているようです。正規表現を "^([\p{L}]+)$" に切り替えて、キャプチャ グループとサイト出力を追加することもできます。
.htaccess - htaccess クエリ文字列の検証で任意の文字を許可する (英語以外の文字)
私はこのhtaccessルールを持っています
4 番目のクエリ文字列はアラビア語で、[0-9a-zA-Z_-] が英語の文字に対してのみ検証される限り、任意の文字を許可したいと考えています。(.*) を使用すると、すべての英語の文字が許可されますが、アラビア語の文字を挿入すると 404 エラーが発生します。では、htaccess 検証ルールの任意の文字がアラビア語の値を取得できるようにするにはどうすればよいでしょうか?
[更新] htaccess ルールを次のように変更しました。
これで 404 エラーは発生しなくなりましたが、クエリ文字列の値 (アラビア語) をエコーすると空の値が返され、それを英語に変更すると問題なく動作します。すべてのクエリ文字列値をアラビア語に変更しようとしましたが、同じ結果が得られました。まったく存在しないため、空です。
pdf - centos での非ラテン フォントのサポート
私の言語 (ヘブライ語) で html から pdf へのエクスポートを有効にしようとしています。HTML とエクスポートは、ローカル マシン (Mac) で正常に動作します。
私はhttps://github.com/wkhtmltopdf/を使用しています
リモートマシン(Centos7)では、htmlはヘブライ語フォントで動作しますが、pdfへのエクスポートはこれを出力します
私は次のことを試しました:
1。
sudo yum install curl cabextract xorg-x11-font-utils fontconfig
sudo yum install liberation-sans-fonts
sudo yum install dejavu-lgc-sans-fonts
(から: https://gist.github.com/drakakisgeo/7591660 )
どれも機能しませんでした。
の出力locale
助言がありますか?