そのため、一連の冒とく的な表現を文字列でチェックしています。
例えば
$string = 'naughty string';
$words = [
'naughty',
'example',
'words'
];
$pattern = '/('.join($words, '|').')/i';
preg_match_all($pattern, $string, $matches);
$matched = implode(', ', $matches[0]);
しかし、スペースで区切られた冒とく的な表現もチェックしたいと思います。
例えば
いたずら
はい、配列に追加することでこれを行うことができます:
$words = [
'naughty',
'n a u g h t y',
'example',
'e x a m p l e',
'words',
'w o r d s'
];
しかし、私は膨大な数の「悪い」言葉を持っており、これを行う簡単な方法があるかどうか疑問に思っていましたか?
- - - 編集 - - -
したがって、これは超正確であることを意味するものではありません。私のアプリケーションでは、すべてのスペースは新しい行です..したがって、次のような文字列: naughty stringは次のようになります:
n
a
あなた
g
時間
t
y
ストリング