2017-10-06 26 views
-2

のような特殊文字を含む文字列をフィルタリングするpreg_matchを見つけようとします。-のようになります。PHP preg_match特殊文字のみ

ただし、文字列自体に特殊文字を含めることはできますが、特殊文字のみであってはいけません。

それを行うにはどのように任意のアイデア?

文字列に特殊文字のみが含まれている場合、結果はtrueを返す必要があります。したがって、何かのように

if(preg_match('//',$string)) echo $string; //I leave the pattern empty as this is the actual question. 
+1

私は、一致するパターンを探しているので、コードではあまり助けてくれることができません。+コード –

+0

私は文字列内で特別な文字を見つける方法を知っていますが、特別な文字だけを含む文字列をフィルタリングする必要があります------ – blackswan

+0

いくつかのテストケースを与えてください。入力文字列と期待される結果。 – Toto

答えて

2

任意の英数字の文字列に一致する必要があります。

$one= "%^&"; 
$two = "asd%asd"; 


function notOnlySpecialChars($str) { 
    if (preg_match('/[A-Za-z0-9]/', $str)) { //Replaced _ with - 
     return true; 
    } else { 
     return false; 
    } 
} 
notOnlySpecialChars($one); //false 
notOnlySpecialChars($two); //true 
+0

ありがとう!私はあまりにも愚かだったと思う:-) – blackswan