使用 php 部分的 ID 创建一个菜单?
Make a menu with the id of the sections with php?
我在 php 方面非常菜鸟。
我想动态创建一个带有菜单的页面。
如果在我的代码中有:
<section id="one" >...</section>
<section id="two" >...</section>
<section id="three" >...</section>
我想生成这个菜单:
<li ><a id="menu-one" href="#one"> <span> One </span></a></li>
<li ><a id="menu-two" href="#two"> <span> Two </span></a></li>
<li ><a id="menu-three" href="#three"> <span> Three </span></a></li>
这很容易,但我尝试过这种方式但没有成功:
$html = file_get_html('http://mysite.it');
foreach($html->find('section') as $element){
$idSection=$element->id;
$menuElement .= '<li><a id="menu-'.$idSection.'" href="#'.$idSection.'" ><span>'.$idSection.'</span></a></li>';
echo '<ul>'.$menuElement.'</ul>';
}
编辑:这可以生成一个节数组,但不起作用。有错吗?
$els = $document->getElementsByTagName('section');
谢谢!
我想你想要这样的东西......
$sections = array(
'one' => 'Something',
'two' => 'Something Else',
'three' => 'Something Awesome'
);
// output <section>s
foreach ($sections as $k=>$v) {
echo '<section id="'. $v .'">'. $v .'</section>';
}
// output menu
foreach ($sections as $k=>$v) {
echo '<li ><a id="menu-'. $k .'" href="#'. $k .'"> <span>'. $v .'</span></a></li>';
}
试试这个对 neokio 代码的小改动,它会给出你想要的东西:
$sections = array('one','two','three');
// output <section>s
foreach ($sections as $section) {
echo '<section id="'. $section .'"><li ><a id="menu-'. $section .'" href="#'. $section .'"> <span>'. $section .'</span></a></li></section>';
}
现在你有一个 ul 和许多 li
echo '<ul>'
foreach($html->find('section') as $element){
$idSection=$element->id;
$menuElement .= '<li><a id="menu-'.$idSection.'" href="#'.$idSection.'" ><span>'.$idSection.'</span></a></li>';
echo $menuElement;
}
echo '</ul>'
我在 php 方面非常菜鸟。 我想动态创建一个带有菜单的页面。
如果在我的代码中有:
<section id="one" >...</section>
<section id="two" >...</section>
<section id="three" >...</section>
我想生成这个菜单:
<li ><a id="menu-one" href="#one"> <span> One </span></a></li>
<li ><a id="menu-two" href="#two"> <span> Two </span></a></li>
<li ><a id="menu-three" href="#three"> <span> Three </span></a></li>
这很容易,但我尝试过这种方式但没有成功:
$html = file_get_html('http://mysite.it');
foreach($html->find('section') as $element){
$idSection=$element->id;
$menuElement .= '<li><a id="menu-'.$idSection.'" href="#'.$idSection.'" ><span>'.$idSection.'</span></a></li>';
echo '<ul>'.$menuElement.'</ul>';
}
编辑:这可以生成一个节数组,但不起作用。有错吗?
$els = $document->getElementsByTagName('section');
谢谢!
我想你想要这样的东西......
$sections = array(
'one' => 'Something',
'two' => 'Something Else',
'three' => 'Something Awesome'
);
// output <section>s
foreach ($sections as $k=>$v) {
echo '<section id="'. $v .'">'. $v .'</section>';
}
// output menu
foreach ($sections as $k=>$v) {
echo '<li ><a id="menu-'. $k .'" href="#'. $k .'"> <span>'. $v .'</span></a></li>';
}
试试这个对 neokio 代码的小改动,它会给出你想要的东西:
$sections = array('one','two','three');
// output <section>s
foreach ($sections as $section) {
echo '<section id="'. $section .'"><li ><a id="menu-'. $section .'" href="#'. $section .'"> <span>'. $section .'</span></a></li></section>';
}
现在你有一个 ul 和许多 li
echo '<ul>'
foreach($html->find('section') as $element){
$idSection=$element->id;
$menuElement .= '<li><a id="menu-'.$idSection.'" href="#'.$idSection.'" ><span>'.$idSection.'</span></a></li>';
echo $menuElement;
}
echo '</ul>'