0

我正在尝试为我的新网站开发导航面包屑系统。我的页面使用 SimpleXML 从 xml 数据库中检索它的文件名和页面信息。

我收到preg_replace() 的 php 错误;最后一个代码块中的函数:解析错误:语法错误,第 21 行 /home/content/85/8762385/html/joelsdesign/movies/we-are-hiring.php 中的意外 T_STRING

在文件的头部,有 $dom = simplexml_load_file('pages.xml');

这是我的 xml 文件的内容:http: //joelsdesign.info/movies/scores.xml

我的导航菜单是“必需的”,并且 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);
}
4

1 回答 1

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 您将编写一个正则表达式 - 正则表达式 - 需要以分隔符开头,最常见的是正斜杠/<因此,第二个错误是由于不是正则表达式的已知分隔符这一事实造成的。

于 2012-08-04T23:36:15.903 回答