1

「#」や「\」などの特定の文字について PHP の文字列を確認するにはどうすればよいですか?

私は実際には置換を使用したくありません。true または false を返すだけです。

ありがとう

4

4 に答える 4

3

関数 strstr を使用http://us2.php.net/manual/en/function.strstr.php 最初に出現したneedleからhaystackの終わりまでのhaystack文字列の一部を返します

注: 特定の針が haystack 内で発生するかどうかのみを判断したい場合は、代わりに、より高速でメモリ使用量の少ない関数 strpos() を使用してください。

于 2009-09-07T11:40:38.930 に答える
3

strpos文字列に別の文字列が含まれているかどうかだけを知りたい場合は、関数を使用できます(タイトルに「削除」と表示されていても、質問の内容はそれを示しているようです)

!==注 : or演算子を使用することを忘れないでください。===関数は 0 または false を返す可能性があり、それらは異なる意味を持ちます。


文字を「削除」したい場合、str_replaceまたはstrtrトリックを行う場合があります。

于 2009-09-07T11:42:45.133 に答える
3

次のようなことができます。

if (strpos($string, '#') !== false || strpos($string, '\') !== false) {
    // One of those two characters is in the string.
}

特に、 (文字が見つからないことを意味する) と (位置で見つかったことを意味する)!==を区別する構文に注意してください。false00

于 2009-09-07T11:44:22.453 に答える
0

正規表現を試してください。

preg_match('/[#\\\\]/', $String);

注:バックスラッシュ '\' を 3 回エスケープする必要があります。

本当にブール形式が必要な場合は、三項演算子「?:」をそのまま使用できます

preg_match('/[#\\\\]/', $String) ? true : false;

または単にブール値に変換する

(bool)preg_match('/[#\\\\]/', $String);
于 2012-12-25T15:28:54.433 に答える