简体   繁体   中英

Strpos not working correctly

Currently I am having a bunch of issues filtering it so that only post which include the string http://www.example.com/?dl_name= go through.

The first if statement works flawlessly but the second one returns every post that I am scraping even the ones that don't have the url included above what am I doing wrong?

$url = ''.$element->href;
$html2 = file_get_html($url);
$title = $html2->find('.single-style1-title h1',0);
$s = $title->plaintext;
$str2 = explode ("MUSIC:", $s);
print '<br>';
$date = $html2->find('strong > a',0);
$n = $date->href;
$str = explode ("http://www.example.com/?dl_name=", $n);
if (strpos($title->plaintext,"VIDEO:")===FALSE) { 
    if (strpos($n,'http://www.example.com/?dl_name=') !== true) {   
        $image = $html2->find('.thumb-wrap img',0);
        //$date = $html2->find('strong > a',0);
        //$n = $date->href;
        print '<br><br>';
        echo $url;
        print '<br>';
        print htmlspecialchars_decode($image->src);
        print '<br>';
        print $str2[1];
        print '<br>';
        print $str[1];
    }
}   

The problem is here:

if (strpos($n,'http://www.example.com/?dl_name=') !== true)

strpos never returns true . Quote from the docs :

Returns the position of where the needle exists relative to the beginning of the haystack string (independent of offset). Also note that string positions start at 0, and not 1.

Returns FALSE if the needle was not found.

The problem lies here:

strpos($n,'http://www.example.com/?dl_name=') !== true

strpos never returns true , only FALSE if it is not present, or the first position it occurs. You said that you want strings which contain "http://www.example.com/?dl_name=" right?

Try change it to strpos($n,'http://www.example.com/?dl_name=') !== FALSE and see what happens.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM