2017-02-07 62 views
1

我试图找到'<video'字符串该变量包含HTML字符串的位置找到字符串

$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> " 

于是我就用开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这个工程!谢谢! –

+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')