PHP - найти строку, содержащую точку с запятой с помощью strpos (), не удалось - PullRequest
0 голосов
/ 07 февраля 2019

У меня есть строка типа

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 (), а также одинарные кавычки вместо двойных кавычекбез успеха.

Есть идеи?

Ответы [ 2 ]

0 голосов
/ 07 февраля 2019

strpos вернет 0, потому что игла находится в положении 0, а 0 - это false значение, поэтому вы должны использовать значение и сравнение типов данных (===)

if (strpos($subValue, 'DTSTART;VALUE=DATE:') !== false) {
0 голосов
/ 07 февраля 2019

Код работает нормально.

strpos вернет 0 в этом случае.Который будет рассматриваться как false.

Попробуйте -

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