1

我正在使用:

header('Location: palette/'.urlencode(str_replace(' ','_',$title)));

在提交表单时重定向用户。上面的代码将%20(空格)替换_为输入的标题。

因此,不是用户输入"Great place",而是试图将它们发送到一个名为palette/Great%20place它的页面,而是将它们发送到palette/Great_place

现在我的问题是,是否可以将此技术应用于超链接?

我有以下循环:

<?php   
while($row = mysql_fetch_array($result))
{
    echo "<a href='palette/$row[title]'><div id='main_col_container'>";
    echo "<div class='title'> $row[title]</div>";
    echo "<div class='main_color' style='background: $row[color1];'></div>";
    echo "<div class='main_color' style='background: $row[color2];'></div>";
    echo "<div class='main_color' style='background: $row[color3];'></div>";
    echo "<div class='main_color' style='background: $row[color4];'></div>";
    echo "<div class='main_color' style='background: $row[color5];'></div>";
    echo "</div></a>";
}
?>

这个问题当然是,$row[title]代表原始数据(它需要显示"Great_place",而不是"Great place"

只是为了澄清一下:是否可以为我所追求的目的使用 str_replace 超链接,如果可以,我该怎么做?


编辑:这就是我现在得到的正在工作的

<?php   
while($row = mysql_fetch_array($result))
{

$titleurl   = str_replace(' ','_',$row['title']);

echo "<a href='palette/$titleurl'><div id='main_col_container'>";
echo "<div class='title'> $row[title]</div>";
echo "<div class='main_color' style='background: $row[color1];'></div>";
echo "<div class='main_color' style='background: $row[color2];'></div>";
echo "<div class='main_color' style='background: $row[color3];'></div>";
echo "<div class='main_color' style='background: $row[color4];'></div>";
echo "<div class='main_color' style='background: $row[color5];'></div>";
echo "</div></a>";
}
?>

这是获得结果的最佳技术吗?还是出于某种原因被认为是不好的做法?

4

1 回答 1

1

当然,只需将您连接str_replace到字符串中,而不是插入变量。

于 2013-03-17T20:55:45.060 回答