0

基本的に次のようなヘッダーがあります。

" フォーラム

サポートに最適な場所です。"

そして、フォーラムに関連するサイトの特定のページに表示する必要があります。

ただし、他のページでは、次のようなヘッダーが必要になる場合があります。

寄付 する

私たちをオンラインに保つのを手伝ってください。"

サイトのフォーラム部分のアドレスは、これらに似ています。

http://localhost/index.php?p=/discussions
http://localhost/index.php?p=/activity
http://localhost/index.php?p=/discussion/6/oh-dear#Item_1

寄付は次のようになります。

http://localhost/index.php?p=/plugin/page/donate

だから私は行くスクリプトを持つための何らかの方法が必要です

if url has (discussions, activity, discussion)
then use this header
"<b>Forum<b> <br> a great place for support

if else url has (donate)
then use this header
"<b>Donate<b> <br> help keep us online

else
use this header
"<b>Website<b> <br> this is our website
4

4 に答える 4

0

Javascriptlocationオブジェクトを使用します。

url = location.href;
if (url.indexOf('discussions') && url.indexOf('activity') && url.indexOf('discussion')) {
  document.getElementById('parent').appendChild(child-element);
else if (url.indexOf('donate')) {
  document.getElementById('parent').appendChild(other-child-element);
}
else {
 document.getElementById('parent').appendChild(another-child-element);
}
于 2012-09-13T19:31:28.767 に答える
0

このような機能が役立つかもしれません。URL から変数を取得する方法がわからない場合は、$_GET['p'] を使用します。

function contains($substring, $string) {
    $pos = strpos($string, $substring);

    if($pos === false) {
            // string needle NOT found in haystack
            return false;
    }
    else {
            // string needle found in haystack
            return true;
    }

}
于 2012-09-13T19:33:22.050 に答える
0

これをサーバー側で行いたい場合は、いつでも PHP のstrpos()関数を使用できます。別の文字列内の文字列の場所を返します。したがって、$_SERVER['query_string']変数を調べてstrpos()検索を実行するだけです -

if (strpos($_SERVER['QUERY_STRING'],'forum')) >= 0){
  // forum appears in the query string!
}

このstrpos()関数は、検索している文字列のインデックスを返すため、それ0が有効なインデックスであることを覚えておいてください。strpos()一致が見つからない場合。戻りfalseます。

ここで私が行っているのは、$_SERVER変数の 1 つを調べることです。それらには、サーバーに関するあらゆる種類の情報と、その現在のパラメーターが含まれています。これらの 1 つはクエリ文字列です。これ?は、URL の の後に続くすべてのテキストです。それを取得すると、strpos()関数はその値で何かを検索します。

于 2012-09-13T19:34:17.617 に答える
0

もう 1 つの (より洗練された) サーバーサイド ソリューション... URL が常にpパラメーターに「パス」を含む場合は、PHPexplode()in_array()関数を利用して、コードをもう少し簡単に処理できます。この URL を例にとります -

http://localhost/index.php?p=/plugin/page/donate

explode()変数に対して関数を実行すると、$_GET['p']次のような配列が得られます -

Array(
  'plugin',
  'page',
  'donate'
)

関数を実行して、in_array()探している文字列がこの配列に存在するかどうかを確認できます。

if (in_array('form',explode($_GET['p']){
  // we are in the forum!
}

参考文献 -

于 2012-09-13T19:49:16.507 に答える