在echo中获取一个间隔有空格的字符串

时间:2013-04-16 12:35:13

标签: php html

我在html中有一个代码,允许我在两者之间插入一个空格,例如“Play game”。

在html中:

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

但我不能在echo()中这样做,我只设法得到“play”这个词:

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

6 个答案:

答案 0 :(得分:1)

请注意,虽然大多数浏览器只会eat在网址中添加空格,但每个标准都不允许这样做。您可以参考此documentation,其中包含:

  

网址不能包含空格。 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>');

答案 1 :(得分:1)

你用双引号括起你的echo字符串,同时在字符串本身里面使用双引号。您可以通过将echo字符串括在单引号中,或者使用反斜杠转义字符串中的双引号来解决此问题。 (像这样:\“)

编辑:您可能还想从“播放”和“游戏”中删除空格。使用PHP的urlencode()函数来实现此目的。您也可以使用&nbsp;,而不是另一张海报的建议。

答案 2 :(得分:0)

使用正确的字符串转义:

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

您还必须使用%20以URL格式对空白进行编码。

答案 3 :(得分:0)

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

更改单引号的双引号,它将适用于您

答案 4 :(得分:0)

使用单个'用于回声。 比你可以使用普通的“HTML”

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

顺便说一下:你不应该在链接中使用空格。

您可以 - 并且应该使用 - 适当的方法。 在你的情况下

urlencode('Music Albums')

相应地对空间进行编码。

答案 5 :(得分:0)

检查

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