0

わかりました、New York という名前をデータベースに手動で挿入しました。ここで、New York のように 2 つの単語として表示したいのですが、うまく機能しますが、newyork.mydomain.com のようなリンクに変更したい場合、2 つの単語が結合せず、代わりに new%20york.mydomain.com になります。データベースに名前を2つの単語で保持する方法はありますが、リンクになったときにそれらを結合します。クエリを実行するときに、1 つの単語を含む名前と複数の単語を含む名前を保持します。これが私が使用しているコードです。

while($state = mysql_fetch_array($states_set)) {
    echo "<td><a href=\"http://{$state["menu_name"]}.mydomain.com\">{$state["menu_name"]}</a></td>";

前もって感謝します

4

2 に答える 2

2

%20問題はそもそもどうやってそこにたどり着いたのかということなので、取り除かなければならないことが問題を引き起こす可能性があります。urldecode任意の URL のデコードに使用できます

$url = "new%20york.mydomain.com";
echo urldecode($url);

出力

new york.mydomain.com

次に、必要に応じて連結中にstr_replace空のスペースを置き換えるために使用しますtrim

于 2012-11-18T01:16:18.597 に答える
0

16 進数の 20 はスペース (20H または %20) です。URL にスペースを含めることはできないため、最善の方法は %20 をすべて削除するか、str_replace() または同様の関数を使用して "_" または "-" に置き換えることです。

于 2012-11-18T01:30:29.267 に答える