2013-01-19 6 views
-1

1 개의 문제를 해결하고자하는 코드가 있습니다.파일에서 확장자를 제거하십시오.

오른쪽의 "관련 기사"에 죽은 링크가 표시된 http://test.whatanswered.com/health/what-can-a-first-aider-do.php의 결과가 표시됩니다.

다음은 표시되어야하는 HTML입니다.

<p><a href="../health/name-of-the-page.php">Name of the page</a></p> 

나는 위의 "페이지의 이름"으로 대시와 PHP를 제거하고 싶지만 그것은 또한 URL에서 대시와 PHP를 제거합니다.

코드는 다음과 같습니다 나는 약간의 코드를 리팩토링 한

<?php 

if ($handle = opendir('health')) { 
    $fileTab = array(); 
    while (false !== ($file = readdir($handle))) { 
     if ($file != "." && $file != "..") { 
      $fileTab[$file] = strtr(pathinfo($file, PATHINFO_FILENAME), '-', ' '); 
     } 
    } 
    closedir($handle); 
    shuffle($fileTab); 
    foreach(array_slice($fileTab, 0, 10) as $file => $health) { 
     $thelist .= '<p><a href="../health/'.$file.'">'.$health.'</a></p>'; 
    } 
} 
?> 
<?=$thelist?> 
+0

pathinfo ($ myFile, PATHINFO_FILENAME) 및 str_replace() .... 매뉴얼을 읽는 데 도움이됩니다. –

+2

죄송합니다. 그러나 나는 당신이 무엇을 요구하고 있는지 정말로 이해하지 못합니다. 이 질문을보다 명확하게 표현할 수 있습니까? – Charles

답변

1

- $fileTab 배열 지금은 단지 파일 이름을 저장하고 제목이의 변환은 디스플레이의 지점에서 발생합니다

if ($handle = opendir('health')) { 
    $fileTab = array(); 
    while (false !== ($file = readdir($handle))) { 
     if ($file != "." && $file != "..") { 
      $fileTab[] = $file; 
     } 
    } 
    closedir($handle); 
    shuffle($fileTab); 

    foreach(array_slice($fileTab, 0, 10) as $file) { 
     $title = str_replace('-', ' ', pathinfo($file, PATHINFO_FILENAME)); 
     $thelist .= '<p><a href="../health/'.$file.'">'.$title.'</a></p>'; 
    } 
} 
+0

시도해 줘서 고맙지 만 운이 없다 : http://test.whatanswered.com/health/what-can-a-first-aider-do.php – mally

+0

내 대답을 다시 작성했습니다. 다시 시도하십시오. –

+0

그레이트 그것은 별개로 취급합니다. 숫자 목록을 표시하는 것처럼 보였으므로 건강을 제거해야했습니다. 많은 감사 – mally

관련 문제