2017-02-07 10 views
1

Я пытаюсь найти '<video' строку в этой переменной, которая содержит HTMLСтрока позиции найти открытие DIV в строке

$string="<video autoplay="autoplay" loop="" muted="" poster="" preload="auto" style="width: 354.09836065574px; height: 600px; max-height:600px;;display:block;margin:0 auto;"><source src="" type="video/mp4" /> <source src="" type="video/webm" /> 
<div class="badge-item-animated-img">&nbsp;</div> " 

Поэтому я использую:

if (strpos($string, '<video')){ 
    echo $string; 
} 

Почему это не работает?

+0

Какой результат вы ожидаете –

+1

strpos может возвращать значение, которое вычисляется с помощью false, как в вашем примере, позиция '0', вам нужно протестировать против' false' – Kaddath

ответ

2

Поскольку strpos возвращает текущее положение тега 'video', которое равно 0 в вашем случае. В PHP это то же самое, что и false. Попробуйте вместо этого:

if (strpos($string, '<video') !== false){ 
    echo $string; 
} 
+0

TNX THIS WORKS! Спасибо! –

+0

Добро пожаловать! Отметьте как ответ пожалуйста. – Oliver

1
$string='<video autoplay="autoplay" loop="" muted="" poster="" preload="auto" style="width: 354.09836065574px; height: 600px; max-height:600px;;display:block;margin:0 auto;"><source src="" type="video/mp4" /> <source src="" type="video/webm" /> 
    <div class="badge-item-animated-img"> </div> '; 

if (strpos($string, '<video') !== false) { 
    echo 'true'; 
} 

Обратите внимание, что использование !== false является преднамеренным; strpos возвращает либо смещение, при котором игольная строка начинается в строке стога сена, или логическое значение false, если игла не найдена. Поскольку 0 является допустимым смещением, а 0 является «ложным», мы не можем использовать более простые конструкции, такие как !strpos($a, 'are').