-2

URI を表示中のページのタイトルにする必要があるという奇妙なコーディング状況がありました。それを行う別の方法は考えられませんでしたが、今はその URI をフォーマットする必要があり、それを達成する方法がわかりません。これは WordPress サイトなので、URI はかなりクリーンです。私がやりたいのは、最初の単語の文字を大文字にし、次にスペース、ダッシュ、またはパイプ区切り文字でタイトルを区切ることです。

したがって、これにより明らかにURIが得られます。

<title><?php echo ($_SERVER['REQUEST_URI']) ?></title>

/test-catalog/diagnosis/flu のようなものが表示されます。表示したいのは Test Catalog - Diagnosis - Flu

ありがとうございました。

4

5 に答える 5

2

私はこれがうまくいくと思います:

echo ucwords(str_replace(Array("-","/"),Array(" "," - "),$_SERVER['REQUEST_URI']);
于 2012-10-10T14:18:31.183 に答える
1
// remove the first slash '/'
$uri = substr($_SERVER['REQUEST_URI'], 1);
// ucwords to uppercase any word
// str_replace to replace "-" with " " and "/" with " - "
echo ucwords(str_replace(array("-","/"),array(" "," - "),$uri));

コードパッド

于 2012-10-10T14:21:58.927 に答える
1

str_replace と ucwords を使用する

echo ucwords(str_replace('/', ' - ', str_replace('-', ' ', $_SERVER['REQUEST_URI'])));

于 2012-10-10T14:19:01.153 に答える
1

やるべきことがいくつかあります:

$url = str_replace("-"," ",$url);  // convert the - to spaces (do this first)
$url = str_replace("/"," - ",$url);  // convert the / to hyphens with spaces either side

$title = ucfirst($url);            // capitalize the first letter

各文字を大文字にしたい場合は、次のようにします。

$title = ucwords($url);            // capitalize first letter of each word

先頭と末尾に空白がある場合があるので、次のようにします。

$title= trim($title)
于 2012-10-10T14:20:31.860 に答える
0

以前の回答の履歴書として:

echo ucwords(str_replace(array("-","/"),array(" "," - "),substr($_SERVER['REQUEST_URI'], 1)));
于 2012-10-10T14:25:19.753 に答える