質問: 'http://www.germanft.com/detail.html'; $disp_data= '[' . '(www)' . ']( . $wwwstr . )'; ##### 表示部 ############## print < $disp_data $disp_data eod __end__
回答: >では何かうまい手を使って、テキストエリア内の任意の文字列にリンクを張ることはできませんでしょうか? htmlの仕様に反しているはずなので、やりたいのであれば、ブラウザを改良(改造?)しない限り無理でしょう。 テキストエリアの内容を変更して送信したいとかとなると無理ですが、テキストエリアを使用せずに、似たように表示したいだけなら、インラインフレームを使えばなんとかなりますが。 方法としては、 (1) インラインフレームを使う まず、$disp_dataを出力するcgiを別途作る 出力は、 $disp_data 程度で良いでしょう。 これでリンク部分ができあがり。 ここでは、適当に link.cgi とでもしておきます。 次に、元々のcgiの方でインラインフレームを使用するようにします。 ~の部分を~に変更。 iframe対応のブラウザでないと見れません。 こんな感じで、srcに先のlink.cgiを指定します。 見た目は、テキストエリアに近いと思いますが、iframeを使えないブラウザもあるので注意が必要です。 どちらかというと、こちらの方が素直なやり方でしょう。 ※クリックされたときに、フォームで何か送信したいのだとしたら、内容をhiddenでセットしておき、アンカータグにonclickイベントを設けて、フォームをsubmitさせれば良いでしょう。 (2) テキストエリアをクリックしたら・・・ テキストエリアでトリッキーなことをします。 (www) フォント色は帰られないと思いますが、下線を引いてリンクっぽく見せる。 テキストエリアがクリックされたら、リンク先に飛ばす。 window.openでなく、location.hrefでも良いですが。 まあ、こんなサイトがあったら、私は二度と見に行かないような気がしますが(笑)