我正在使用:
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>";
}
?>
这是获得结果的最佳技术吗?还是出于某种原因被认为是不好的做法?