• ベストアンサー
  • すぐに回答を!

文中の単語にリンクを貼る

IT用語辞典e-wordsのように( http://e-words.jp/w/ASP-1.html ) キーワードと同じ単語があれば文中にリンクを張りたいのですが、からくりが分かりません。キーワードとしてDBに登録している単語と同じものが文中にあれば、文中からその単語を抜き出してURLを貼り、差し替える?? それだとしても文中から単語を抜き出す事は可能なのでしょうか。 もし分かられるかたがいらっしゃるならご助言お願いします。 例 本文(naiyou)------- 通常はWebブラウザに渡されてから処理されるJavaScriptやVBScriptなどで記述されたスクリプトをサーバ側で処理し、処理結果のみをブラウザに送信する。 ---------- キーワード(keyword) Webブラウザ ---------- の場合は「本文(naiyou)」の「Webブラウザ」に「Webブラウザ」の説明があるページにリンクを貼りたい。

共感・応援の気持ちを伝えよう!

  • 回答数2
  • 閲覧数298
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.2
  • 1050YEN
  • ベストアンサー率69% (477/687)

1.単語レベルに分解して、変換文字を求める 実際に単語見分けロジックは困難だと思う。想像するだけで嫌なので、だれかわかる人いたら教えてほしいぐらい。 でもそれが可能なら、単語レベルで、SQL文のwhere句にセットして、置き換え文字を取得する。 変換方法は後記2を参考の元 2.手当たり次第変換 文章の単語の分解するのではなく、DB登録されている単語で、文章に当てはめこんでいく方法。 とにかく、「あろうとなかろうと、変換ロジックを通す」というやり方。 無ければ変換されないので、結果オーライ的だけど、一番容易。 dbから全レコードを取得 db構造としては [キーワードテーブル]に[キーワード単語]/[貼り付けるアドレス]カラムを用意 select キーワード単語,貼り付けるアドレス from キーワードテーブル adoか何かで開いて strBase = "通常はWebブラウ・・・" do until rec.eof {   strBase = replace(strBase,rec("キーワード単語"),"<a href=""" & rec("貼り付けるアドレス") & """>" & rec("キーワード単語") & "</a>")   rec.movenext } loop msgbox strBase ってな感じで、手当たり次第に変換しまくる。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

2.手当たり次第変換・・でやってみたところうまくできました。詳しく教えていただき感謝しています。ありがとうございました。

その他の回答 (1)

  • 回答No.1
  • todo36
  • ベストアンサー率58% (728/1234)

Call Replace(naiyou, "Webブラウザ", "<a href=""http://e-words.jp/w/E38396E383A9E382A6E382B6.html"" target=""_blank"">Webブラウザ</A>")

共感・感謝の気持ちを伝えよう!

質問者からのお礼

助かりました、ありがとうございました。

関連するQ&A

  • はてなダイアリーなどの記事投稿時の自動リンク処理

    こんにちは。 趣味である分野のデータベースをWebで公開してみようと思っています。 はてなダイアリーやWikiの様なものを想定しているのですが、内部的な処理に関して悩んでいます。 はてなダイアリーやWikiなどで新規投稿をすると、本文中の各キーワードに反応して、そのキーワードに関する記事があれば自動的にその記事にリンクが張られたりしますよね。 例)PHPの記事→本文中のHTMLの単語をクリック→HTMLの記事に飛ぶ この自動リンクの処理はどうやって行われているのでしょう。 想像としては、 新規投稿→既存の投稿記事のタイトルをリストアップ→正規表現で投稿した記事にキーワードが含まれているかチェック→マッチしたら該当記事へのリンクをする(a要素を埋め込む?)→リンク処理後の本文をデータベースへ書き込み、投稿処理完了。 といった流れなのですが、これだと記事を削除した時、他の全ての本文に削除する記事のキーワードが含まれているかどうかチェックして、含まれていればリンクを外さなければならない為、とても非効率的です。 という事は、投稿時ではなく、記事を閲覧するタイミングで記事の本文中のキーワードをリンク処理しているのか・・・と、どうにも頭を悩ませています。 知恵をお貸しいただけないでしょうか。 よろしくお願いします。

  • IPマルチキャストはどういうときに使われるものですか?

    いつもお世話になっております。 IPマルチキャストについて調べてみました。 意味は理解したのですが、どういうときに使われる技術なのかが分からなかったため、 質問させて頂きました。 IT用語辞典を見ると 「マルチキャストとは、ネットワーク内で、複数の相手を指定して同じデータを送信すること。」 と書かれていました。 http://e-words.jp/w/E3839EE383ABE38381E382ADE383A3E382B9E38388.html 具体的には、どういうときに複数の相手を指定して同じデータを送信するのでしょうか? もしよろしければ、教えて頂けませんか? ぜひよろしくお願いいたします。

  • IT用語辞典やベクターについて

    初めまして^^ ホームページを作っていてふと思ったのですが、難しい単語を自分のサイトで説明すると面倒だからIT用語辞典でその単語について説明しているページにリンクさせたら便利ですよね。けど、リンクって基本的にトップにするものじゃないですか。だから、ピンポイントである単語のページにリンクすることってやっていいんでしょうか? ついでに聞きたいんですが、ベクターや窓の社で特定のファイルのダウンロード画面(詳細画面?)にリンクを貼る事ってしてもいいんでしょうか?

  • WebBrowserでのhttpsの安全性について

    httpsについて「IT用語辞典 e-Words」で調べると 「Webサーバとクライアント(Webブラウザなど)がデータを送受信するのに使われるプロトコルであるHTTPに、SSLによるデータの暗号化機能を付加したプロトコル。サーバとブラウザの間の通信を暗号化し、プライバシーに関わる情報やクレジットカード番号などを安全にやり取りすることができる。Netscape NavigatorやInternet Explorerなど主要なWebブラウザが対応していることから、WWWにおける暗号化の事実上の標準となっている」 となっていますがVBのWebBrowserでhttpsのwebページを表示させパスワードを送信しても暗号化されるのでしょうか?

  • PS3に搭載されている"Cell"は、「何」が「どう」すごいのでしょうか?

    "Cell"をネットで検索して調べてみると… >ソニー、東芝、IBM社の3社が共同開発したマイクロプロセッサ >家庭用ゲーム機「プレイステーション3」への搭載が決まっている(搭載されている) http://e-words.jp/w/Cell.html (IT用語辞典) とのことなのですが、書かれている内容を読んでもチンプンカンプンで 数字や専門用語を並べられても、今ひとつ"すごさ"が伝わってきません。 このような人(私)に"Cell"の「何」が「どう」すごいのかを説明して頂けませんか? (極力、数字や専門用語を使わずに説明して頂ければ幸いです)

  • クリックすると隠れたテキストなどが表示

    最初5行くらいで、続きをよむ、といったリンクを クリックすると隠れていた追加テキストが表示される スクリプトをつくりたいのです。 http://e-words.jp/w/JavaScript.html ↑これが参考事例なんですが… ソースを拝見すると onclickで処理を行われているようですが…… ご存知の方よろしくお願いします。

  • switchの大量分岐の高速化

    いつもお世話になっております。 phpにて、文中にキーワードがあるかどうか判定し、そのキーワードによって処理を変えていくというプログラムを作成しています。 preg_matchまたはstrposによるキーワード判定と、switchによる処理を組み合わせたものです。 //判定対象となる文章 $text = "判定対象となる文章"; //判定キーワードの設定 $word1 = "/キーワード1|きーわーど1|keyword1/"; $word2 = "/キーワード2|きーわーど2|keyword2/"; . .(中略) . $word30 = "/キーワード30|きーわーど30|keyword30/"; //判定処理 switch (true) { case preg_match($word1, $text): echo "キーワード1に該当します" break; case preg_match($word2, $text): echo "キーワード2に該当します" break; . .(大量のcase) . case preg_match($word30, $text) && preg_match($word1, $text): echo "キーワード1かつキーワード30に該当します" break; }; ざっと書くとこのような構造になっています。 しかしキーワード分岐がかなり多岐に渡っている状態で、switch文の後半のcaseに該当する場合になってくると速度もかなり遅く感じます。 どうにかもう少し高速化したいなあと考えているのですが、何か良い方法はありますでしょうか? よろしくお願い致します。

    • ベストアンサー
    • PHP
  • PCカードスロット(PC card slot)

    http://e-words.jp/w/PCE382ABE383BCE38389E382B9E383ADE38383E38388.html PCカードスロットとは 【PC card slot】 - 意味・解説 : IT用語辞典 e-Words 一部のデスクトップPCについている。 PCカードスロット付きのデスクトップPCを探しています。 数年前(5,6年前)は、流行?か主流?か探し出すのが容易だったのですが、 現在の状況(トレンド)では、PCカードスロット付きのモデルが皆無か極めて稀(まれ)なケースなのでしょうか? 様々な事情から今まで長年使ってきたデスクトップPCを入れ替える予定です。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=1117590 教えて!goo PCカードスロットが無いパソコンでPCカードを使うには なお、使い続けたいPCカードは、無線LANです。 USB-PCカードアダプターというのを購入して使う案は、どうでしょうか?

  • like検索の複数キーワードで、プレースホルダを利

    like検索の複数キーワードで、プレースホルダを利用するやり方が分からないので教えてください <やりたいこと> ・複数キーワード検索(東京 hoge) <現状、出来ていること> ・1単語キーワード検索(東京) <分からないこと> ・配列として処理すれば良いみたいなのですが、プレースホルダとの絡みでどうすればよいのか分かりません <環境> ・MySQL ・PDO <現状コード抜粋> public function search($keyword)  {  $sql = "   SELECT a.*     FROM hoge a      WHERE (honbun LIKE :keyword)      ";  $keyword ="%".$keyword."%";

    • ベストアンサー
    • PHP
  • リファラが取得できない?

    初めまして。PHPのメールフォームを設置し お試しをしてみたら、外部から利用はできません、と表示されます。 リファラのチェックをする、に設定しています。 (お借りした所ではこういう質問を受け付けてもらえないので こちらでお伺いしております) リファラの意味がわからず調べてみましたが、 「あるWebページのリンクをクリックして別のページに移動したときの、リンク元のページのこと。Webサーバのアクセスログに記録される項目の一つ。」 リファラとは 【referer】 - 意味・解説 : IT用語辞典 <http://e-words.jp/w/E383AAE38395E382A1E383A9.html> とあり、自分のページからメールフォームにリンクしているのは 大丈夫なのではないかと思っていたのですが・・・ 他にブラウザの設定やファイヤーウォールの設定も見てみましたが リファラを消したりすることも無いようです。 本体?の中に、 if ($_SERVER['HTTP_REFERER'] != 'http://'.$_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] && $refCheck) { Err('外部から利用は出来ません'); と記載している箇所を見つけたので、http://の箇所に自分のアドレスを入れるのかと思い試してみましたがダメでした。 拙い説明でわかりづらいところばかりですが おわかりになる方がおられましたら、対処法などお教え下さい。 宜しくお願い致します。

    • ベストアンサー
    • PHP