Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php “我怎么能忽视?”;XXX“;我的数据解析脚本中的标题?_Php_Foreach_Preg Match_Preg Split - Fatal编程技术网

Php “我怎么能忽视?”;XXX“;我的数据解析脚本中的标题?

Php “我怎么能忽视?”;XXX“;我的数据解析脚本中的标题?,php,foreach,preg-match,preg-split,Php,Foreach,Preg Match,Preg Split,我试过了,但似乎不起作用。任何帮助都将不胜感激 代码: foreach (glob('mov/Alene*.mov') as $filename){ $theData = file_get_contents($filename) or die("Unable to retrieve file data"); } $string = $theData; $titles = explode("\n", $string); function getInfo($string){ $

我试过了,但似乎不起作用。任何帮助都将不胜感激

代码:

foreach (glob('mov/Alene*.mov') as $filename){ 
    $theData = file_get_contents($filename) or die("Unable to retrieve file data");
}

$string = $theData;
$titles = explode("\n", $string);

function getInfo($string){
    $Ratings = ['G', 'PG', 'PG-13', 'R', 'NR', 'XXX'];
    $split = preg_split("/\"(.+)\"/", $string, 0, PREG_SPLIT_DELIM_CAPTURE);
    if(count($split) == 3){ 
        preg_match("/(".implode("|", $Ratings).")\s/", $split[0], $matches);
        $rating = $matches[0];
        return ["title" => $split[1], "rating" => $rating];
    }
    return false;
}




$infolist = array();
foreach($titles as $title){
    $info = getInfo($title);
    if($info !== false){
    $infolist[] = $info;
    }
}

usort($infolist, "infosort");

function infosort($lhs,$rhs) {
  return strcmp($lhs['rating'], $rhs['rating']);
}

foreach ($infolist as $info) {
        echo "<div style ='margin-bottom: 3px; text-align: center;
          font:13px Verdana,tahoma,sans-serif;color:green;'> 
           {$info["title"]} : {$info["rating"]}</div>";
}


//------------------LOGO---------------------//

echo "<div style='text-align:center; margin-top: 20px;'><img src='imgs/shclogo.png'
alt='Logo' width='200' height='133'/></div>";

//-------------------------------------------//
?>
我还尝试在preg_match所在的源代码中添加这一点,但这也不起作用。它仍然显示“XXX”标题

我只需要弄清楚如何忽略XXX标题并显示其他所有内容

输出最初看起来像这样

(HD) Safe House : R
(HD) Wanderlust : R
(HD) Machine Gun Preacher : R
(HD) Silent House : R
(HD) Seeking Justice : R
Adult title 1 : XXX
Adult title 2 : XXX
Adult title 3 : XXX
Adult title 4 : XXX
还有更多的XXX标题,但我无法全部显示。只要有人帮忙,你就是我的救命恩人

在foreach($infolist作为$info){之后,添加:

if ($info['rating'] == 'XXX') { continue; };

这将跳过XXX级别的标题,然后再尝试为其输出任何内容,这应该会产生您想要的效果。

@UltimateProgrammer\u BR鉴于这似乎是一个脚本,用于生成可供酒店客人使用的按次付费标题列表,或类似的一般性质,我假设这些标题没有签名我知道他们看起来是什么样子的。哈哈……你们都疯了。@AaronMiller:我不确定这一点。@CasimiretHippolyte我也不确定。但我来这里是为了提供编程支持,而不是从事私刑活动。@CasimiretHippolyte说,我很想快速地戳一下谷歌,看看我能找到关于这些标题的什么,除非我在谷歌工作现在,不管我们的共同怀疑是否合理,无论这些标题会引发什么搜索结果,都会给我带来与人力资源部的一次非常不愉快的对话。这也不起作用……它仍然列出所有xxx标题,即使按照您的建议添加了代码……:/ng值,或者类似的东西?如果
$info
rating
成员正好包含
XXX
,那么提供的代码应该可以工作。您也可以尝试
如果(preg_match('/XXX/',$info['rating']){continue;
if ($info['rating'] == 'XXX') { continue; };