2013-06-10 2 views
0

시도했지만 작동하지 않는 것 같습니다. 어떤 도움이라도 대단히 감사하겠습니다.데이터 구문 분석 스크립트에서 "XXX"제목을 무시할 수 있습니까?

CODE : 내가 추가 해봤

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

//-------------------------------------------// 
?> 

:

if($info["rating"]!=="XXX")//foreach $infolist as $info... 

는 또한는 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 제목이 있습니다,하지만 난 그들 모두를 표시 할 수 없습니다. 도움이된다면 내 생명을 구할 수있을거야.

+2

니스 XXX 타이틀. –

+0

@UltimateProgrammer_BR 이것이 호텔 손님에게 사용 가능한 유료 시청자 목록 또는 그 일반적인 성격의 목록을 생성하는 스크립트 인 것으로 보아서, 나는 그 제목이 그들이 나타내는 것을 의미하지 않는다고 가정 할 것입니다 에. –

+0

롤 ... 너희들은 미쳤다. – ValleyDigital

답변

0

foreach ($infolist as $info) { 후, 추가 : 이것은 당신이 원하는 효과를 가지고 있어야 그들을 위해 출력 아무것도하기 전에 XXX 등급 타이틀을 건너 것이다

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

.

+0

그 중 하나가 작동하지 않았다 ... 그것은 제안 된대로 해당 코드가 추가 된 상태에서도 모든 xxx 제목을 나열합니다./ – ValleyDigital

+0

아마도 등급 값에서 공백을 제거해야할까요? '$ info'의'rating' 멤버가 정확히'XXX'를 포함하고 있다면, 제공된 코드가 작동해야합니다. –

+0

'if (preg_match ('/ XXX /', $ info [ 'rating'])) {계속; }; –