質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

EC-CUBE

EC-CUBEは、主に日本国内で開発されているECコンテンツ管理システムです。ロックオン社のECKitを元にしてオープンソース化され、商品管理・受注管理・顧客管理・売上集計などECに特化した様々な機能を備えています。

Q&A

解決済

1回答

1960閲覧

特殊文字のif文

退会済みユーザー

退会済みユーザー

総合スコア0

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

EC-CUBE

EC-CUBEは、主に日本国内で開発されているECコンテンツ管理システムです。ロックオン社のECKitを元にしてオープンソース化され、商品管理・受注管理・顧客管理・売上集計などECに特化した様々な機能を備えています。

0グッド

1クリップ

投稿2015/11/13 10:40

編集2015/11/13 11:01

会員登録時に特殊文字の入力チェックをしたいです。

PHPで、

php

1case 'SPECIAL_CHARCTER' 2if($value == ''){ //仮 3 $arrErr[$key] = '※ ' . $this->disp_name[$index] . 'に特殊文字が含まれています。<br>'; 4} 5break;

のifの箇所に、preg_matchを使用してHTML特殊文字のチェックを行いたいです。

調べましたが、四苦八苦しています。。

アドバイスをいただけませんか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2015/11/13 10:43

特殊文字とはどのようなものを想定していますか? http://www.htmq.com/text/
guest

回答1

0

ベストアンサー

http://pst.co.jp/powersoft/html/index.php?f=3401
の文字がフォームから入力されたとしても、検索でヒットしないということは起こりません。
DBに書き込みする際に、htmlspecialchars を通してしまっているなどのアンチパターンで実装してはいませんか?


これで普通にヒットしましたげど…とおもったら、なんか動きおかしいですね

php

1<?php 2ini_set('display_errors', 1); 3error_reporting(E_ALL); 4 5$pattern = "/[\"&<> ¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸]/"; 6$subject = "\"&<> ¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸"; 7 8preg_match_all($pattern, $subject, $matches); 9?> 10<!DOCTYPE HTML> 11<html lang="ja-JP"> 12 <head> 13 <meta charset="UTF-8"> 14 <title></title> 15 </head> 16 <body> 17 <?php 18 var_dump($subject); 19 ?> 20 <?php 21 foreach ($matches[0] as $i => $match) { 22 echo sprintf("%d:%s %s<br />" 23 , $i 24 , $match 25 , htmlentities($match, ENT_SUBSTITUTE, 'UTF-8') 26 ); 27 } 28 ?> 29 </body> 30</html>

いろいろ試したけど、結局、これが使いやすい気がします。

php

1<?php 2 3ini_set('display_errors', 1); 4error_reporting(E_ALL); 5 6$strings = [ 7 " ", " ", "!", "\"", "#", "$", "%", "&", "'", 8 "(", ")", "*", "+", ",", ".", "/", ":", ";", 9 "<", "&nvlt", "=", "&bne", ">", "&nvgt", "?", 10 "@", "[", "\\", "]", "^", "_", "`", "&fjlig", 11 "{", "|", "}", " ", "¡", "¢", "£", "¤", "¥", 12 "¦", "§", "¨", "©", "ª", "«", "¬", "­", "®", 13 "¯", "°", "±", "²", "³", "´", "µ", "¶", "·", 14 "¸", "¹", "º", "»", "¼", "½", "¾", "¿", "À", 15 "Á", "Â", "Ã", "Ä", "Å", "Æ", "Ç", "È", "É", 16 "Ê", "Ë", "Ì", "Í", "Î", "Ï", "Ð", "Ñ", "Ò", 17 "Ó", "Ô", "Õ", "Ö", "×", "Ø", "Ù", "Ú", "Û", 18 "Ü", "Ý", "Þ", "ß", "à", "á", "â", "ã", "ä", 19 "å", "æ", "ç", "è", "é", "ê", "ë", "ì", "í", 20 "î", "ï", "ð", "ñ", "ò", "ó", "ô", "õ", "ö", 21 "÷", "ø", "ù", "ú", "û", "ü", "ý", "þ", "ÿ", 22 "Ā", "ā", "Ă", "ă", "Ą", "ą", "Ć", "ć", "Ĉ", 23 "ĉ", "Ċ", "ċ", "Č", "č", "Ď", "ď", "Đ", "đ", 24 "Ē", "ē", "Ė", "ė", "Ę", "ę", "Ě", "ě", "Ĝ", 25 "ĝ", "Ğ", "ğ", "Ġ", "ġ", "Ģ", "Ĥ", "ĥ", "Ħ", 26 "ħ", "Ĩ", "ĩ", "Ī", "ī", "Į", "į", "İ", "ı", 27 "IJ", "ij", "Ĵ", "ĵ", "Ķ", "ķ", "ĸ", "Ĺ", "ĺ", 28 "Ļ", "ļ", "Ľ", "ľ", "Ŀ", "ŀ", "Ł", "ł", "Ń", 29 "ń", "Ņ", "ņ", "Ň", "ň", "ʼn", "Ŋ", "ŋ", "Ō", 30 "ō", "Ő", "ő", "Œ", "œ", "Ŕ", "ŕ", "Ŗ", "ŗ", 31 "Ř", "ř", "Ś", "ś", "Ŝ", "ŝ", "Ş", "ş", "Š", 32 "š", "Ţ", "ţ", "Ť", "ť", "Ŧ", "ŧ", "Ũ", "ũ", 33 "Ū", "ū", "Ŭ", "ŭ", "Ů", "ů", "Ű", "ű", "Ų", 34 "ų", "Ŵ", "ŵ", "Ŷ", "ŷ", "Ÿ", "Ź", "ź", "Ż", 35 "ż", "Ž", "ž", "ƒ", "Ƶ", "ǵ", "ȷ", "ˆ", "ˇ", 36 "˘", "˙", "˚", "˛", "˜", "˝", "̑", "Α", "Β", 37 "Γ", "Δ", "Ε", "Ζ", "Η", "Θ", "Ι", "Κ", "Λ", 38 "Μ", "Ν", "Ξ", "Ο", "Π", "Ρ", "Σ", "Τ", "Υ", 39 "Φ", "Χ", "Ψ", "Ω", "α", "β", "γ", "δ", "ε", 40 "ζ", "η", "θ", "ι", "κ", "λ", "μ", "ν", "ξ", 41 "ο", "π", "ρ", "ς", "σ", "τ", "υ", "φ", "χ", 42 "ψ", "ω", "ϑ", "ϒ", "ϕ", "ϖ", "Ϝ", "ϝ", "ϰ", 43 "ϱ", "ϵ", "϶", "Ё", "Ђ", "Ѓ", "Є", "Ѕ", "І", 44 "Ї", "Ј", "Љ", "Њ", "Ћ", "Ќ", "Ў", "Џ", "А", 45 "Б", "В", "Г", "Д", "Е", "Ж", "З", "И", "Й", 46 "К", "Л", "М", "Н", "О", "П", "Р", "С", "Т", 47 "У", "Ф", "Х", "Ц", "Ч", "Ш", "Щ", "Ъ", "Ы", 48 "Ь", "Э", "Ю", "Я", "а", "б", "в", "г", "д", 49 "е", "ж", "з", "и", "й", "к", "л", "м", "н", 50 "о", "п", "р", "с", "т", "у", "ф", "х", "ц", 51 "ч", "ш", "щ", "ъ", "ы", "ь", "э", "ю", "я", 52 "ё", "ђ", "ѓ", "є", "ѕ", "і", "ї", "ј", "љ", 53 "њ", "ћ", "ќ", "ў", "џ", "‐", "–", "—", "―", 54 "‖", "‘", "’", "‚", "“", "”", "„", "†", "‡", 55 "•", "‥", "…", "‰", "‱", "′", "″", "‴", "‵", 56 "‹", "›", "‾", "⁁", "⁃", "⁄", "⁏", "⁗", " ", 57 "&ThickSpace", "⁠", "⁡", "⁢", "⁣", "€", "⃛", "⃜", 58 "ℂ", "℅", "ℊ", "ℋ", "ℌ", "ℍ", "ℎ", "ℏ", "ℐ", 59 "ℑ", "ℒ", "ℓ", "ℕ", "№", "℗", "℘", "ℙ", "ℚ", 60 "ℛ", "ℜ", "ℝ", "℞", "™", "ℤ", "℧", "ℨ", "℩", 61 "ℬ", "ℭ", "ℯ", "ℰ", "ℱ", "ℳ", "ℴ", "ℵ", "ℶ", 62 "ℷ", "ℸ", "ⅅ", "ⅆ", "ⅇ", "ⅈ", "⅓", "⅔", "⅕", 63 "⅖", "⅗", "⅘", "⅙", "⅚", "⅛", "⅜", "⅝", "⅞", 64 "←", "↑", "→", "↓", "↔", "↕", "↖", "↗", "↘", 65 "↙", "↚", "↛", "↝", "&nrarrw", "↞", "↟", "↠", 66 "↡", "↢", "↣", "↤", "↥", "↦", "↧", "↩", "↪", 67 "↫", "↬", "↭", "↮", "↰", "↱", "↲", "↳", "↵", 68 "↶", "↷", "↺", "↻", "↼", "↽", "↾", "↿", "⇀", 69 "⇁", "⇂", "⇃", "⇄", "⇅", "⇆", "⇇", "⇈", "⇉", 70 "⇊", "⇋", "⇌", "⇍", "⇎", "⇏", "⇐", "⇑", "⇒", 71 "⇓", "⇔", "⇕", "⇖", "⇗", "⇘", "⇙", "⇚", "⇛", 72 "⇝", "⇤", "⇥", "⇵", "⇽", "⇾", "⇿", "∀", "∁", 73 "∂", "&npart", "∃", "∄", "∅", "∇", "∈", "∉", 74 "∋", "∌", "∏", "∐", "∑", "−", "∓", "∔", "∖", 75 "∗", "∘", "√", "∝", "∞", "∟", "∠", "&nang", 76 "∡", "∢", "∣", "∤", "∥", "∦", "∧", "∨", "∩", 77 "&caps", "∪", "&cups", "∫", "∬", "∭", "∮", 78 "∯", "∰", "∱", "∲", "∳", "∴", "∵", "∶", "∷", 79 "∸", "∺", "∻", "∼", "&nvsim", "∽", "&race", 80 "∾", "&acE", "∿", "≀", "≁", "≂", "&nesim", "≃", 81 "≄", "≅", "≆", "≇", "≈", "≉", "≊", "≋", "&napid", 82 "≌", "≍", "&nvap", "≎", "&nbump", "≏", "&nbumpe", 83 "≐", "&nedot", "≑", "≒", "≓", "≔", "≕", "≖", 84 "≗", "≙", "≚", "≜", "≟", "≠", "≡", "&bnequiv", 85 "≢", "≤", "&nvle", "≥", "&nvge", "≦", "&nlE", "≧", 86 "&NotGreaterFullEqual", "≨", "&lvertneqq", "≩", 87 "&gvertneqq", "≪", "&nLtv", "&nLt", "≫", 88 "&NotGreaterGreater", "&nGt", "≬", "≭", "≮", "≯", 89 "≰", "≱", "≲", "≳", "≴", "≵", "≶", "≷", "≸", "≹", 90 "≺", "≻", "≼", "≽", "≾", "≿", "&NotSucceedsTilde", 91 "⊀", "⊁", "⊂", "&vnsub", "⊃", "&nsupset", "⊄", "⊅", 92 "⊆", "⊇", "⊈", "⊉", "⊊", "&vsubne", "⊋", "&vsupne", 93 "⊍", "⊎", "⊏", "&NotSquareSubset", "⊐", "&NotSquareSuperset", 94 "⊑", "⊒", "⊓", "&sqcaps", "⊔", "&sqcups", "⊕", "⊖", 95 "⊗", "⊘", "⊙", "⊚", "⊛", "⊝", "⊞", "⊟", "⊠", "⊡", 96 "⊢", "⊣", "⊤", "⊥", "⊧", "⊨", "⊩", "⊪", "⊫", "⊬", 97 "⊭", "⊮", "⊯", "⊰", "⊲", "⊳", "⊴", "&nvltrie", "⊵", 98 "&nvrtrie", "⊶", "⊷", "⊸", "⊹", "⊺", "⊻", "⊽", "⊾", 99 "⊿", "⋀", "⋁", "⋂", "⋃", "⋄", "⋅", "⋆", "⋇", "⋈", 100 "⋉", "⋊", "⋋", "⋌", "⋍", "⋎", "⋏", "⋐", "⋑", "⋒", 101 "⋓", "⋔", "⋕", "⋖", "⋗", "⋘", "&nLl", "⋙", "&nGg", 102 "⋚", "&lesg", "⋛", "&gesl", "⋞", "⋟", "⋠", "⋡", "⋢", 103 "⋣", "⋦", "⋧", "⋨", "⋩", "⋪", "⋫", "⋬", "⋭", "⋮", 104 "⋯", "⋰", "⋱", "⋲", "⋳", "⋴", "⋵", "¬indot", "⋶", 105 "⋷", "⋹", "¬inE", "⋺", "⋻", "⋼", "⋽", "⋾", "⌅", "⌆", 106 "⌈", "⌉", "⌊", "⌋", "⌌", "⌍", "⌎", "⌏", "⌐", "⌒", 107 "⌓", "⌕", "⌖", "⌜", "⌝", "⌞", "⌟", "⌢", "⌣", "⌭", 108 "⌮", "⌶", "⌽", "⌿", "⍼", "⎰", "⎱", "⎴", "⎵", "⎶", 109 "⏜", "⏝", "⏞", "⏟", "⏢", "⏧", "␣", "Ⓢ", "─", "│", 110 "┌", "┐", "└", "┘", "├", "┤", "┬", "┴", "┼", "═", 111 "║", "╒", "╓", "╔", "╕", "╖", "╗", "╘", "╙", "╚", 112 "╛", "╜", "╝", "╞", "╟", "╠", "╡", "╢", "╣", "╤", 113 "╥", "╦", "╧", "╨", "╩", "╪", "╫", "╬", "▀", "▄", 114 "█", "░", "▒", "▓", "□", "▪", "▫", "▭", "▮", "▱", 115 "△", "▴", "▵", "▸", "▹", "▽", "▾", "▿", "◂", "◃", 116 "◊", "○", "◬", "◯", "◸", "◹", "◺", "◻", "◼", "★", 117 "☆", "☎", "♀", "♂", "♠", "♣", "♥", "♦", "♪", "♭", 118 "♮", "♯", "✓", "✗", "✠", "✶", "❘", "❲", "❳", "⟈", 119 "⟉", "⟦", "⟧", "⟨", "⟩", "⟪", "⟫", "⟬", "⟭", "⟵", 120 "⟶", "⟷", "⟸", "⟹", "⟺", "⟼", "⟿", "⤂", "⤃", 121 "⤄", "⤅", "⤌", "⤍", "⤎", "⤏", "⤐", "⤑", "⤒", "⤓", 122 "⤖", "⤙", "⤚", "⤛", "⤜", "⤝", "⤞", "⤟", "⤠", "⤣", 123 "⤤", "⤥", "⤦", "⤧", "⤨", "⤩", "⤪", "⤳", "&nrarrc", 124 "⤵", "⤶", "⤷", "⤸", "⤹", "⤼", "⤽", "⥅", "⥈", "⥉", 125 "⥊", "⥋", "⥎", "⥏", "⥐", "⥑", "⥒", "⥓", "⥔", "⥕", 126 "⥖", "⥗", "⥘", "⥙", "⥚", "⥛", "⥜", "⥝", "⥞", "⥟", 127 "⥠", "⥡", "⥢", "⥣", "⥤", "⥥", "⥦", "⥧", "⥨", "⥩", 128 "⥪", "⥫", "⥬", "⥭", "⥮", "⥯", "⥰", "⥱", "⥲", "⥳", 129 "⥴", "⥵", "⥶", "⥸", "⥹", "⥻", "⥼", "⥽", "⥾", "⥿", 130 "⦅", "⦆", "⦋", "⦌", "⦍", "⦎", "⦏", "⦐", "⦑", "⦒", "⦓", 131 "⦔", "⦕", "⦖", "⦚", "⦜", "⦝", "⦤", "⦥", "⦦", "⦧", 132 "⦨", "⦩", "⦪", "⦫", "⦬", "⦭", "⦮", "⦯", "⦰", "⦱", 133 "⦲", "⦳", "⦴", "⦵", "⦶", "⦷", "⦹", "⦻", "⦼", "⦾", 134 "⦿", "⧀", "⧁", "⧂", "⧃", "⧄", "⧅", "⧉", "⧍", "⧎", 135 "⧏", "&NotLeftTriangleBar", "⧐", "&NotRightTriangleBar", 136 "⧜", "⧝", "⧞", "⧣", "⧤", "⧥", "⧫", "⧴", "⧶", "⨀", "⨁", 137 "⨂", "⨄", "⨆", "⨌", "⨍", "⨐", "⨑", "⨒", "⨓", "⨔", "⨕", 138 "⨖", "⨗", "⨢", "⨣", "⨤", "⨥", "⨦", "⨧", "⨩", "⨪", "⨭", 139 "⨮", "⨯", "⨰", "⨱", "⨳", "⨴", "⨵", "⨶", "⨷", "⨸", "⨹", 140 "⨺", "⨻", "⨼", "⨿", "⩀", "⩂", "⩃", "⩄", "⩅", "⩆", "⩇", 141 "⩈", "⩉", "⩊", "⩋", "⩌", "⩍", "⩐", "⩓", "⩔", "⩕", "⩖", 142 "⩗", "⩘", "⩚", "⩛", "⩜", "⩝", "⩟", "⩦", "⩪", "⩭", 143 "&ncongdot", "⩮", "⩯", "⩰", "&napE", "⩱", "⩲", "⩳", "⩴", 144 "⩵", "⩷", "⩸", "⩹", "⩺", "⩻", "⩼", "⩽", "&nles", "⩾", 145 "&nges", "⩿", "⪀", "⪁", "⪂", "⪃", "⪄", "⪅", "⪆", "⪇", 146 "⪈", "⪉", "⪊", "⪋", "⪌", "⪍", "⪎", "⪏", "⪐", "⪑", "⪒", 147 "⪓", "⪔", "⪕", "⪖", "⪗", "⪘", "⪙", "⪚", "⪝", "⪞", "⪟", 148 "⪠", "⪡", "&NotNestedLessLess", "⪢", "&NotNestedGreaterGreater", 149 "⪤", "⪥", "⪦", "⪧", "⪨", "⪩", "⪪", "⪫", "⪬", "&smtes", 150 "⪭", "&lates", "⪮", "⪯", "&NotPrecedesEqual", "⪰", 151 "&NotSucceedsEqual", "⪳", "⪴", "⪵", "⪶", "⪷", "⪸", "⪹", 152 "⪺", "⪻", "⪼", "⪽", "⪾", "⪿", "⫀", "⫁", "⫂", "⫃", "⫄", 153 "⫅", "&nsubE", "⫆", "&nsupseteqq", "⫇", "⫈", "⫋", "&vsubnE", 154 "⫌", "&varsupsetneqq", "⫏", "⫐", "⫑", "⫒", "⫓", "⫔", "⫕", 155 "⫖", "⫗", "⫘", "⫙", "⫚", "⫛", "⫤", "⫦", "⫧", "⫨", "⫩", 156 "⫫", "⫬", "⫭", "⫮", "⫯", "⫰", "⫱", "⫲", "⫳", "⫽", "&nparsl", 157 "ff", "fi", "fl", "ffi", "ffl" 158]; 159$entities = get_html_translation_table(HTML_ENTITIES, ENT_QUOTES | ENT_HTML5, 'UTF-8'); 160 161foreach ($strings as $str) { 162 if (array_key_exists($str, $entities)) { 163 echo $entities[$str] . PHP_EOL; 164 } 165} 166 167

投稿2015/11/13 11:05

編集2015/11/13 12:49
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2015/11/13 11:14 編集

ありがとうございます。 申し訳ありません、質問の内容を変更させて頂きました。 正規表現での入力チェックの実装を試みたいです。 お手数おかけしました。
退会済みユーザー

退会済みユーザー

2015/11/13 11:13

少なくとも質問のコードはコードブロックで記述してください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問