多个 strpos 可能吗?
Multiple strpos possible?
我想看看我的字符串是否包含 {
和 :
以及 }
如果是的话 returns 是真的,但我在这里遗漏了一些东西。
$string = "{12345:98765}";
if(strpos($string,'{*:*}')== true) {
echo "string is good";
}
想法?
if (strpos($string,'{') !== false && strpos($string,'}') !== false) {
echo "string is good";
}
strpos不接受正则表达式,不允许你在一条语句中找多根针
此外,您的正则表达式将不起作用。它需要看起来像这样:
{\d+:\d+}
也就是说,如果您只处理数字。如果可以是字母或数字,则将 \d
替换为 \w
,如果可以是任何字符,则将其替换为 .
。 +
表示一个或多个字符。如果大括号可以包含零个或多个字符,则将其替换为 *
。
if(preg_match('/{\d+:\d+}/', $string)) {
echo 'string is good.';
}
怎么样:
if (preg_match('/\{.*?:.*?\}/', $string)) {
echo 'string is good.';
}
其中:
/
\{ : openning curly brace (must be escaped, it' a special char in regex)
.*? : 0 or more any char (non greeddy)
: : semicolon
.*? : 0 or more any char (non greeddy)
\} : closing curly brace (must be escaped, it' a special char in regex)
/
我想看看我的字符串是否包含 {
和 :
以及 }
如果是的话 returns 是真的,但我在这里遗漏了一些东西。
$string = "{12345:98765}";
if(strpos($string,'{*:*}')== true) {
echo "string is good";
}
想法?
if (strpos($string,'{') !== false && strpos($string,'}') !== false) {
echo "string is good";
}
strpos不接受正则表达式,不允许你在一条语句中找多根针
此外,您的正则表达式将不起作用。它需要看起来像这样:
{\d+:\d+}
也就是说,如果您只处理数字。如果可以是字母或数字,则将 \d
替换为 \w
,如果可以是任何字符,则将其替换为 .
。 +
表示一个或多个字符。如果大括号可以包含零个或多个字符,则将其替换为 *
。
if(preg_match('/{\d+:\d+}/', $string)) {
echo 'string is good.';
}
怎么样:
if (preg_match('/\{.*?:.*?\}/', $string)) {
echo 'string is good.';
}
其中:
/
\{ : openning curly brace (must be escaped, it' a special char in regex)
.*? : 0 or more any char (non greeddy)
: : semicolon
.*? : 0 or more any char (non greeddy)
\} : closing curly brace (must be escaped, it' a special char in regex)
/