ネットで無料配布されているAmigodatabaseというPerlで、データベースのサイトを作っております。
以下は、データベースの結果一覧を出力するための、default.htmlというページのソースの一部です。
print <<"<!---HTML--->";
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML lang="ja"><HEAD>
<link rel="canonical" href="$FORM{$SEARCH{1}{Name}}.htm">
(中略)
<META name="description" content="$FORM{$SEARCH{1}{Name}} の名産果物です">
<TITLE>$FORM{$SEARCH{1}{Name}} の果物</TITLE>
上記、$FORM{$SEARCH{1}{Name}}には、
検索した際に使ったキーワードが表示自動挿入されます。
このキーワードが、例えば「りんご」だった場合に、
URLエンコードを行って、「%e3%82%8a%e3%82%93%e3%81%94」と
上記、<link rel="canonical" href="$FORM{$SEARCH{1}{Name}}">の
$FORM{$SEARCH{1}{Name}}を、%e3%82%8a%e3%82%93%e3%81%94として、
つまり、<link rel="canonical" href="%e3%82%8a%e3%82%93%e3%81%94.htm">
としたいのですが、どのようなソースを書けば、実現できるのでしょうか?
どうかアドバイスのほど、よろしくお願い致します。m(_ _)m
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
uri_escape()を使いましょう。
ちなみに、canonicalは相対パス指定もできますが、間違いがないように絶対パスで指定したほうがいいと思います。
また、フォームの入力をそのまま使っていますが、XSS対策のために、ここもエンコードするべきです。
やり方は、いろいろあるので、探してみてください。
use URI::Escape;
my $escape_str = uri_escape($FORM{$SEARCH{1}{Name}});
my $canonical_url = "http://foobar.baz/$escape_str.htm";
print <<"<!---HTML--->";
(中略)
<link rel="canonical" href="$canonical_url">
(以下略)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 実用・教育 犬のおまわりさん すごくないですか?? 1 2022/08/06 21:21
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- その他(エンターテインメント・スポーツ) こちらのバンド名分かりますか? 2 2022/06/16 22:57
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- 失恋・別れ 別れても好きな人。あなたにはいましたか? 4 2022/05/19 18:13
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- HTML・CSS 私の能力からして間違っていないような気がします。 4 2022/09/30 13:24
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テキストファイルで提出とは?
-
openした後、closeしないでプロ...
-
perlプログラミング 空白行削除
-
perlをバージョンアップしたら...
-
Perl Grepについて
-
#!/usr/bin/perlで書きだしたCG...
-
AI sisterとは、偽物の人ですか?
-
bashスクリプト
-
ファイルアイコンの左下に緑の□...
-
perlでリテラル値はメモリにど...
-
perlで2次元配列をサブルーチ...
-
perlについて
-
perlのrequireの動き方について...
-
perlについての質問
-
Perlでファイルの末尾から指定...
-
Perlで特定文字列から特定文字...
-
Perlのプログラムについて
-
INDIRECT 横に再度抽出したい
-
CGIでimgタグでalignを使うとエ...
-
Perlの例文でif($a==1&&$b==5&&...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
サーバーのテキストファイルを...
-
XML::Simpleの使い方について
-
IIS の@INC ERRORについて教えて
-
Mechanizeにおけるボタンクリッ...
-
perl の grepで 全角カタカナで...
-
標準入力からデータが読込めない
-
フォームメール確認用ページ
-
wordの数式について 定積分を書...
-
ラジオボタンが両方とも選択で...
-
select値をhiddenのvalueに渡し...
-
「value」に2つの値をセットす...
-
チェックボックスの返す値
-
INPUT TYPE
-
WEBページを強制的に横画面で見...
-
[HTML]プルダウンメニューの横...
-
VB.net データーグリッドビュー...
-
別formのhidden項目を自form値...
-
FORMのselectの選択肢を最初か...
-
VB初心者。小数点以下の表示で...
-
EXCELとの連携
おすすめ情報