0

新しい Web サイトのナビゲーション ブレッドクラム システムを開発しようとしています。私のページは、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

The quotes around the word current were not escaped:

$nav = preg_replace("<li><a href=\"".$file."\">".$title."</a></li>", "<li class=\"current\"><a href=\"".$file."\">".$title."</a></li>", $nav);

Also you shouldn't be using preg_replace without using a regex. You should be using str_replace.

If you actually needed preg_replace you would have written a regex - Regular Expression - that needs to start with a delimiter most often the forward slash /. Hence the second error is created by the fact that < is not a known delimiter for a regex.

于 2012-08-04T23:36:15.903 に答える