0

私はたくさんのHTMLページを持っています.それぞれのページの上部に行が含まれています.行は

<?xml version="1.0" encoding="UTF-8" ?>

ローカルホストで実行していたときにページが完全に開いていましたが、ファイルをサーバーにアップロードしたところ、エラーが発生しました。エラーは、

Parse error: syntax error, unexpected T_STRING in /home/a7597163/public_html/secretary.html on line 1

この行を削除すると、ページはエラーなしで表示されますが、問題は手動で各行を削除できないことです。各ページからその行を削除する方法を教えてください...私はこれを使ってみました

document.body.innerHTML = document.body.innerHTML.replace( /<?xml version="1.0" encoding="UTF-8" ?>/g, "");

しかし、うまくいきませんでした。

ありがとう

4

4 に答える 4

2

PHPエラーの場合。これは、クライアントがそれを認識して JavaScript が処理する前に、サーバー側でスローされます。したがって、JavaScript でこれを解決することはできません。

したがって、ここでの解決策は、短いタグがオンになっている場合、PHP ファイル自体で構文的に正しくないため、ソースの行を変更または削除することです。

ホスティング プロバイダーでphp.iniの編集が許可されている場合は、編集できますshort_open_tag=Off。しかし、それによって他の<? ... ?>PHP ブロックも機能しなくなります。

于 2012-10-27T10:28:04.490 に答える
1

まず、エラーが発生する理由は、サーバーが何らかの理由で短いタグを許可しているためです。つまり<?、サーバーの意味は。と同じ<?phpです。これはせいぜい疑わしいことですが、おそらくそれを無効にするのが最善です。

現在、ファイル内で検索および置換できるプログラムは無数にあります。そのような人気のあるプログラムの1つはsed、次のとおりです。

$ find your/project/directory -type f -name "*.html" | sed -i 's/<[?]xml[^>]\+>//'

-iのオプションをsed使用すると、その場でファイルが置き換えられるため、最初にバックアップを作成することをお勧めします。

LinuxまたはMacintoshの場合。

私はSOでこのスレッドを見つけました。Windowsコマンドライン環境を使用してファイル内のテキストをどのように見つけて置き換えることができますか?Windowsでも同じことをすることについてですが、おそらくあなたのコードエディタでもそれを行うことができます。

于 2012-10-27T10:59:27.167 に答える
1

問題は、ライブ システムの PHP インタープリターで「short_tags」がオンになっているため<?、PHP タグの開始として解釈されることです。

ページがロードされることはないため、ページをそのまま使用することはできません。最善の策は、開発マシンでスクリプトを作成して変更を加え、変更されたページを再アップロードすることです。

スクリプトがどのように見えるかは、ローカルで使用している OS によって大きく異なります。

于 2012-10-27T10:28:56.080 に答える
0

php.ini にアクセスできる場合は、次の手順を実行する必要があります。

それを開いて設定します:

short_open_tag=オン

short_open_tag=オフ

それ以外の場合は、その行を次のように変更します

<?php echo 'xml version="1.0" encoding="UTF-8"'; ?>

編集:そして、そのアクセス権がない場合は、この汚い方法を試すことができます:

<<??>?xml version="1.0" encoding="utf-8"?>
于 2012-10-27T10:28:55.753 に答える