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 に答える