我是php的新手。
我试图在每个描述中找到一种动态匹配正确URL的方法
例如,在 description = Xios 的情况下,我希望网址变为:
<li><div id="Left1"><a href="main.php?description=Xios">' . make_safe( $item['description'] ) . '</a></div></li>
现在,在 description = Kiklades 的情况下,我希望网址成为:<li><div id="Left1"><a href="main.php?description=Kiklades">' . make_safe( $item['description'] ) . '</a></div></li>
在描述= Mikonos 的情况下,我希望网址成为:
<li><div id="Left1"><a href="main.php?description=Mikonos">' . make_safe( $item['description'] ) . '</a></div></li>
foreach ($item_array as $item) {
if ( make_safe($item['diamerisma']) == $_GET['diamerisma'] ) {
if (!in_array($item['description'], $used_values) ) {//This will check if this value hasn't been listed yet
$html .= '<ul data-role="listview" id="weatherList" data-theme="b" data-insert="true" >';
$html .= '<li><div id="Left1"><a href="main.php?description=Κυκλάδες">' . make_safe( $item['description'] ) . '</a></div></li>';
$html .= '</ul>';
$html .= '</dd>';
$used_values[] = $item['description'];//here you preserve used values for avoiding repetition
}
}
}
xml代码
<item>
<title>Xios center</title>
<description>Xios</description>
<diamerisma>Aigaio</diamerisma>
<metar>1010</metar>
</item>
<item>
<title>Siros</title>
<description>Kiklades</description>
<diamerisma>Aigaio</diamerisma>
<metar>1011</metar>
</item>
<item>
<title>Naxos center</title>
<description>Kiklades</description>
<diamerisma>Aigaio</diamerisma>
<metar>1012</metar>
</item>
<item>
<title>Mikonos center</title>
<description>Mikonos</description>
<diamerisma>Aigaio</diamerisma>
<metar>1013</metar>
</item>
任何帮助将不胜感激!先谢谢你们!
答案 0 :(得分:0)
由于我不知道如何创建$item_array
,我将从您的代码中退一步,以不同的方式创建$item_array
:
$xml = simplexml_load_string($x); // assume XML in $x
$dia = "Aigaio"; // use $_GET... in your code
$item_array = $xml->xpath("//item[diamerisma = '$dia']");
现在,$item_array
仅包含<item>
- 具有所需<diamerisma>
- 子节点的节点。我们不必在循环中检查<diamerisma>
:
foreach ($item_array as $item) {
// simplified
echo '<a href="main.php?description=' . $item->description . '">' . $item->description . '</a>';
}
看到它有效:https://eval.in/120611
答案 1 :(得分:0)
我意识到你的问题有一个非常简单的答案:
$html .= '<li><div id="Left1"><a href="main.php?description=' . make_safe($item['description']) . '">' . make_safe($item['description']) . '</a></div></li>';