strpos()仅在某些情况下有效

时间:2018-09-14 14:03:29

标签: php explode strpos

我一直在尝试在代码中使用PHP函数strpos()。 我不知道为什么这段代码行不通。 如果我尝试使用包含我的'b'标签的自定义字符串,则它可以工作。如果我尝试通过数组获取字符串,则无法正常工作。我也尝试过这种方式:strpos('<b>',$textArray[$i]),但这没用。

PS :(字符串)强制转换不起作用。

<?php
$path="description/1.txt";
    $myfile = fopen($path, "r");
    $buffer="";
    if ($myfile) {
        $buffer=htmlspecialchars(fread($myfile,filesize($path)), ENT_QUOTES, 'UTF-8');
        fclose($myfile);
    }
    $textArray= explode(" ", $buffer);
    for($i=0;$i<count($textArray);$i++){

        $tmp="test string <b> :) ";

        if(strpos($textArray[$i],'<b>',0)===false){
            echo "Didn't find  ";
        }else{
            echo "YEES :D  ";
        }
    }

 ?>

数组var_dump():

array(10) {
 [0]=>
 string(15) "sadsad<b>"
 [1]=>
 string(16) "asdw</b>ad"
 [2]=>
 string(24) "a<b>sdsa</b>"
 [3]=>
 string(9) "<b>"
 [4]=>
 string(4) "dsad"
 [5]=>
 string(3) "sad"
 [6]=>
 string(3) "sad"
 [7]=>
 string(9) "asdsadsad"
 [8]=>
 string(6) "sadsad"
 [9]=>
 string(8) "sadsadas"
}

1 个答案:

答案 0 :(得分:0)

尝试删除htmlspecialchars 应该可以。