我继承了一些解析xml文件的php来填充一个充满无序列表的页面,我想知道是否有办法整合php函数以提高它们的效率。
大约有25个左右的功能:
function oaAccounting(){
// load SimpleXML
$term = new SimpleXMLElement('training_list.xml', null, true);
echo <<<EOF
<ul>
EOF;
foreach($term as $term)
{
if(preg_match("/accounting/i", $term->keyword)){
echo <<<EOF
<li>{$term->name}</li>
EOF;
}
}
echo '</ul>';
}
每个人扫描xml文件以查找它正在搜索的术语/关键字,并将术语作为列表元素添加到特定于该函数的无序列表中。下一个函数执行相同的操作,但是对于不同的术语/关键字,并将其添加到单独的无序列表中。
有没有办法将所有这些结合起来以防止必须连续做25次?
谢谢!
答案 0 :(得分:1)
摘要您的功能。
将文件和搜索字词作为参数传递给该函数,并使用该函数。
类似的东西:
function parse_xml_file($file, $terms)
然后在调用函数时使用pass $file
和$terms
。
有关详细信息,请参阅 Teh big bad manual 。
答案 1 :(得分:0)
这个修改过的函数接受一个参数,即要查找的单词,然后在preg_match()函数中使用它。因此,要使用它,您需要做的就是使用您正在搜索的术语来调用它。这应该替换所有硬编码函数。
function searchXML($search){
// load SimpleXML
$terms = new SimpleXMLElement('training_list.xml', null, true);
echo <<<EOF
<ul>
EOF;
foreach($terms as $term)
{
if(preg_match("/$search/i", $term->keyword)){
echo <<<EOF
<li>{$term->name}</li>
EOF;
}}
echo '</ul>';
}