teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

タイトルが間違っていたのを修正

2018/08/29 06:12

投稿

stmkza
stmkza

スコア478

title CHANGED
@@ -1,1 +1,1 @@
1
- PHPでUnicodeの結合文字を正規化する方法
1
+ PHPでUnicodeの結合文字を判定する方法
body CHANGED
File without changes

2

絵文字に関して追記

2018/08/29 06:12

投稿

stmkza
stmkza

スコア478

title CHANGED
File without changes
body CHANGED
@@ -4,4 +4,6 @@
4
4
 
5
5
  日本語などでこのような風に使われている場合は許容して、それ以外の言語用のものが使われている場合は弾きたいのですが、PHPを使って実装する方法を教えていただきたいです。
6
6
 
7
- 文字コードはUTF-8を使用しています。
7
+ 文字コードはUTF-8を使用しています。
8
+
9
+ 絵文字などは許容して、日本語以外のこのような複数バイトで構成される文字を弾きたいです。

1

結合文字だということを知ったので編集

2018/08/29 05:55

投稿

stmkza
stmkza

スコア478

title CHANGED
@@ -1,1 +1,1 @@
1
- PHPでUnicodeの特殊文字を弾く方法
1
+ PHPでUnicodeの結合文字を正規化する方法
body CHANGED
@@ -1,7 +1,7 @@
1
- PHPでWebアプリケーションを作っているのですが、ユーザが名前などとして設定した文字列にUnicodeの特殊文字で、他の文字と組みわせて表示が変化する文字(アラビア文字?などで使われるような文字)などが入力されること表示崩れなどを起こすことを心配してす。
1
+ PHPでWebアプリケーションを作っているのですが、ユーザが名前などとして設定した文字列にUnicodeの合文字が入力されることによる表示崩れなどのいたずら防ぎたす。
2
2
 
3
- PHPを使っ普通の記号ギリ文字は弾かずに、文字サイズ通常る文字(アラビア文字など)弾く方法はありませんか?
3
+ 調べみたら、これが異体字セレクタ、macOSのファイルステムで濁点や半濁点がついた文字が複数バイトで表現されてしまう時同じよう仕様使っているようです。
4
4
 
5
- また、Unicodeには表示を制御する文字(ゼロ幅スペースやNon-Breaking Spaceなど)も含まれているので、それも弾きたいです。
5
+ 日本語などでこのような風に使われている場合は許容して、それ以外の言語用ののが使われている場合は弾きたいですが、PHPを使って実装する方法を教えていただきたいです
6
6
 
7
- 文字コードはUTF-8を使用しています
7
+ 文字コードはUTF-8を使用しています