PHP - 使用 strpos() 查找包含分号的字符串失败

PHP - find string cointaining semicolon with strpos() fails

我有一个像

这样的字符串
DTSTART;VALUE=DATE:20190208

我想使用 PHP 函数 strpos() 来查找

DTSTART;VALUE=DATE:

仅当我删除分号时才有效

我试过了

if(strpos($subValue, "DTSTART;VALUE=DATE:")){

还有 (1, 2, 3 次) 转义分号

strpos($subValue, "DTSTART\;VALUE=DATE:")
strpos($subValue, "DTSTART\;VALUE=DATE:")
strpos($subValue, "DTSTART\\;VALUE=DATE:")

我尝试了 stripos() 和单引号而不是双引号,但没有成功。

有什么想法吗?

代码运行良好。

strpos将return0就是这种情况。这将被视为 false.

尝试 -

if(strpos($subValue, "DTSTART;VALUE=DATE:") !== false) {

strpos 会 return 0 因为在位置 0 找到了 needle,而 0 是 false 值,所以你必须使用值和数据类型比较(=== )

if (strpos($subValue, 'DTSTART;VALUE=DATE:') !== false) {