2013-08-21 8 views
0

누군가가 내 웹 사이트에있는 현재 페이지가 탐색 메뉴 (클래스 "active")에서 강조 표시됩니다. 나는 현재 페이지를 string과 비교하는 php를 통해 이것을 수행했다. 이 문자열은 실제로 메뉴 항목의 href 값이기 때문에 더욱 단순화하고 싶습니다.<a href> 값을 얻으십시오

PHP를 통해이 항목의 href 값을 얻을 방법이 있습니까? 그런 식으로 그 변수를 대신 사용할 수 있습니다.

내 PHP 코드 :

<?php 
function curPageName() 
{ 
    return substr($_SERVER["SCRIPT_NAME"], strrpos($_SERVER["SCRIPT_NAME"], "/") + 1); 
} 
function activeMenuItem($href) 
{ 
    return (curPageName() == $href) ? "class=\"active\"" : ""; 
} 
?> 

과 본문에 HTML :

<ul id="navilist"> 
    <li><a href="index.php" <?php echo activeMenuItem('index.php'); ?>>Home</a></li> 
    <li><a href="resume.php" <?php echo activeMenuItem('resume.php'); ?>>Resume</a></li> 
    <li><a href="projects.php" <?php echo activeMenuItem('projects.php'); ?>>Projects</a></li> 
    <li><a href="contact.php" <?php echo activeMenuItem('contact.php'); ?>>Contact</a></li> 
</ul> 
+0

http://simplehtmldom.sourceforge.net/manual.htm –

+0

그냥 href 값을 읽으 려면 스크립트의 출력을 구문 분석하지 않는 것이 좋습니다 ... – Kieran

답변

2

루프에서 메뉴를 구축 :

$menu_items = array(
    'Home' => 'index.php', 
    'Resume' => 'resume.php' 
); 

<ul id="navilist"> 
    <?php foreach ($menu_items as $title => $href): ?> 
     <li><a href="<?php echo $href; ?>" <?php echo activeMenuItem($href); ?>> 
      <?php echo $title; ?> 
     </a></li> 
    <?php endforeach; ?> 
</ul> 
+0

이전 답변과 동일 + 귀하의 제안을 정말 좋아합니다! +1 – Armadillo

1

당신은 HREF를 가져올 수 없습니다 PHP 코드를 사용하여 값. 내 지식

- 한 가지 방법은 내가 확실하지 않다 하나 하나 개의 변수

$home="home.php"; 
$resume="resume.php"; 
. 
. 
. 



<ul id="navilist"> 
    <li><a href="<?php echo $home;?>" <?php echo activeMenuItem($home); ?>>Home</a></li> 
    <li><a href="<?php echo $resume;?>" <?php echo activeMenuItem($resume); ?>>Resume</a></li> 
    . 
    . 
    . 
</ul> 

등으로 페이지 이름을 선언해야 HREF 값

를 얻을 수 있습니다. 그것을 확인하십시오.

+0

이것은 나에게 잘 어울립니다! 나는 이것에 대해 생각하지 않고 어리 석다. – Armadillo