0

「ゲームをプレイ」など、間にスペースを入れた文字列を取得できるhtmlのコードがあります。

HTMLで:

<li><a href="allProduct.php?category=Play Game">Play Game</a></li>

しかし、echo() ではそうすることができませんでした。「再生」という単語しか取得できませんでした。

    echo("<table width=80%>
    <tr>
    <ul>
        <li><a href="allProduct.php?category=Play Game">Play Game</a</li>
    </ul>
    </tr>");
4

6 に答える 6

1

ほとんどのブラウザーはeatURL に空白を使用しますが、標準では許可されていません。次のドキュメントを参照できます。

URL にスペースを含めることはできません。URL エンコーディングでは通常、スペースが + 記号に置き換えられます。

PHP ではurlencode()、空白を にエンコードするために使用します+

$encoded = urlencode('allProduct.php?category=Play Game');
// will give you : allProduct.php?category=Play+Game

また、二重引用符を含む文字列を二重引用符で囲むことはできません。一重引用符で囲みます。

完全な例:

echo('<table width=80%>
<tr>
<ul>
    <li><a href="' . urlencode('allProduct.php?category=Play Game') .'">Play Game</a</li>
</ul>
</tr>');
于 2013-04-16T12:36:52.673 に答える
1

文字列自体の内部でも二重引用符を使用しながら、エコー文字列を二重引用符で囲んでいます。これを解決するには、エコー文字列を一重引用符で囲むか、バックスラッシュを使用して文字列内の二重引用符をエスケープします。(そのようです: \")

編集:「プレイ」と「ゲーム」からスペースを削除することもできます。これを実現するには、 PHP のurlencode()関数を使用します。&nbsp;別のポスターで提案されているように、代わりにa を使用することもできます。

于 2013-04-16T12:37:39.000 に答える
0

これで確認

echo("<table width=80%>
        <tr>
        <ul>
        <li><a href='allProduct.php?category=Play Game'>Play Game</a</li>
        </ul>
        </tr>");
于 2013-04-16T12:46:38.760 に答える
0

文字列の適切なエスケープを使用します。

echo("<table width=80%>
<tr>
<ul>
    <li><a href=\"allProduct.php?category=Play%20Game\">Play Game</a</li>
</ul>
</tr>");

を使用して、空白を URL 形式でエンコードする必要もあります%20

于 2013-04-16T12:37:04.533 に答える
0
echo('<table width=80%>
<tr>
<ul>
    <li><a href="allProduct.php?category=Play%20Game">Play Game</a</li>
</ul>
</tr>');

二重引用符を一重引用符に変更すると、うまくいきます

于 2013-04-16T12:37:18.017 に答える
0

エコーには単一の ' を使用します。HTMLに通常の「」を使用できるよりも

echo '<tag class="xyz">...</tag>';

ところで、リンクにはスペースを使用しないでください。

そのための適切な方法を使用でき、使用する必要があります。あなたの場合

urlencode('Music Albums')

それに応じてスペースをエンコードします。

于 2013-04-16T12:37:36.533 に答える