2017-02-07 61 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')