我正在尝试为我的新网站开发导航面包屑系统。 我的页面使用SimpleXML从xml数据库中检索它的文件名和页面信息。
我收到最后一个代码块中 preg_replace(); 函数的php错误:解析错误:语法错误,/ home / content / 85/8762385 / html中的意外T_STRING第21行/joelsdesign/movies/we-are-hiring.php
在文件的头部,有 $ dom = simplexml_load_file('pages.xml');
这是我的xml文件的内容:http://joelsdesign.info/movies/scores.xml
我的导航菜单是'required',而require语句存储在名为 $ nav
的变量中foreach ($dom->page as $page) {
$title = $page->title;
$file = $page->file;
$nav = file_get_contents('require/nav.php');
$nav = preg_replace("<li><a href=\"".$file."\">".$title."</a></li>", "<li class="current"><a href=\"".$file."\">".$title."</a></li>", $nav);
}
答案 0 :(得分:0)
单词current
周围的引号未被转义:
$nav = preg_replace("<li><a href=\"".$file."\">".$title."</a></li>", "<li class=\"current\"><a href=\"".$file."\">".$title."</a></li>", $nav);
另外,如果不使用正则表达式,则不应使用preg_replace。你应该使用str_replace。
如果你真的需要preg_replace,你可能会编写一个正则表达式 - 正则表达式 - 需要以分隔符开头,通常是正斜杠/
。因此,第二个错误是由<
不是正则表达式的已知分隔符而创建的。