• ベストアンサー

WebページまたはRSSフィードから任意の文字列を抽出する(または色を変える太字にする)ブックマークレットを探しています

arexisの回答

  • arexis
  • ベストアンサー率66% (66/99)
回答No.2

<html> <body> <a href="javascript:(function(){ var arg = prompt('文字を入力',''), cont; if(!arg){ return; } if(document.body.createTextRange){ cont = document.body.createTextRange(); var BM= cont.getBookmark() }; function MakeSpan(mode){ var div = document.createElement('div'), span = document.createElement('span'); div.appendChild(span); span.style.cssText = 'background-color:#ff00ff; color:white;'; if(mode){ span.innerHTML = arg; return div}else{ return span; } } if(cont){ cont.moveToBookmark(BM); while(cont.findText(arg,1,4)){ cont.pasteHTML(MakeSpan(true).innerHTML); }}else{ if(window.find){ while(window.find(arg, true, false) ){ if(window.getSelection() == ''){ continue; } window.getSelection().getRangeAt(0).surroundContents(MakeSpan()); }}}})();">検索反転</a> これをHTMLファイルとして表示させて、このリンク『検索反転』をブックマークしてください。 ざっと作った簡単なbookmarkletなので、、 RSSフィードの方の対応はしていません。 IE7とFirefox2のみ動作確認しています。 Netscapeは動きません。 Safariは調整すれば動きますが調整していません。 反転表示の色については現在は背景ピンク、文字が白です。 このスクリプト内に background-color:#ff00ff; color:white; と言う場所があります。 色を変える時はこのスクリプトの色部分を変更してからブックマークしなおしてください。 この説明文は、色書換えの時のサンプル用にHTML内に入れてあります。 「検索反転」をクリックすればこのページ内で確認できます。 </body> </html> アンカー部分は1行です。 コピーして折り返される場合は1行に戻してください。

kuroneko9625
質問者

お礼

わざわざjavascriptの製作までしてくださって本当にありがとうございます! ずうずうしいお願いですが、できたらこれを複数の文字列に対しても実装する方法はないでしょうか?このページで具体的に言うなら「抽出」と「フィード」と「ページ」の3つの文字を一度に背景色を変更(同一色でかまいません。)できると大変便利で嬉しいです。 またスクリプトプロンプトによる入力ではなく、javascript内に事前に文字列を指定してjavascriptを実行するだけで、事前に指定した文字列の背景色が変化すればありがたいです。 「質問」の範疇をすでに大きく逸脱しているので、お忙しかったら無視していただいてかまいません。 回答、重ね重ねありがとうございました!

関連するQ&A

  • WebページまたはHTMLソースから任意の文字列を

    WebページまたはHTMLソースから任意の文字列を抽出する(または色を変える太字にする)ブックマークレットを探しています WebページまたはHTMLソースから任意の複数の文字列(※)を抽出する(または色を変えて表示する、フォントを変える、太字にする)方法はありませんか? ※任意の文字列は別ウィンドウを出し、そこに入力したものが抽出されるものがいいのですが…。 JavascriptによるBookmarkletで実現可能だと思うのですが、アドバイスお待ちしています。 (※「WebページまたはHTMLソースから任意の複数の文字列」という表現が分かりにくいですが、例えば芸能人のtwitterのIDを含んだ公式ホームページを例にとると「公式twitterのID」と言った任意の文字列を抽出[または色を変えて表示する、フォントを変える、太字にする]方法を探しています。) 下記のタイプだとHTMLソース内の検索ができなくて…。教えてください <html> <body> <a href="javascript:(function(){ var arg = prompt('文字を入力',''), cont; if(!arg){ return; } if(document.body.createTextRange){ cont = document.body.createTextRange(); var BM= cont.getBookmark() }; function MakeSpan(mode){ var div = document.createElement('div'), span = document.createElement('span'); div.appendChild(span); span.style.cssText = 'background-color:#ff00ff; color:white;'; if(mode){ span.innerHTML = arg; return div}else{ return span; } } if(cont){ cont.moveToBookmark(BM); while(cont.findText(arg,1,4)){ cont.pasteHTML(MakeSpan(true).innerHTML); }}else{ if(window.find){ while(window.find(arg, true, false) ){ if(window.getSelection() == ''){ continue; } window.getSelection().getRangeAt(0).surroundContents(MakeSpan()); }}}})();">検索反転</a> これをHTMLファイルとして表示させて、このリンク『検索反転』をブックマークしてください。 ざっと作った簡単なbookmarkletなので、、 RSSフィードの方の対応はしていません。 IE7とFirefox2のみ動作確認しています。 Netscapeは動きません。 Safariは調整すれば動きますが調整していません。 反転表示の色については現在は背景ピンク、文字が白です。 このスクリプト内に background-color:#ff00ff; color:white; と言う場所があります。 色を変える時はこのスクリプトの色部分を変更してからブックマークしなおしてください。 この説明文は、色書換えの時のサンプル用にHTML内に入れてあります。 「検索反転」をクリックすればこのページ内で確認できます。 </body> </html>

  • 任意の文字列を抽出

    半角スペースを含む文字列から任意の文字列を抽出するには、どういった処理が必要になりますか?

    • ベストアンサー
    • Perl
  • FirefoxでRSSアイコンがページ上にないのにRSS対応しているRSSフィードをサンダーバードで購読したい

    こんにちは。 Firefox2.0.0.1、およびTunderbirdバージョン2 beta2を使っています。 RSSはすべてTunderbirdで購読しています。 で、表題のとおりですが、 FirefoxでRSSアイコンがページ上にないのに、 RSS対応している(URLのバーの右端にRSSのアイコンが表示されるので分かります)サイトがあります。 この場合、どうやってThunbirdに登録するのが一番ラクなのでしょうか? 自分・・・ (1)「URLのバーの右端にRSSのアイコン」をダブルクリック    ⇒ライブブックマークが追加される (2)ブックマークメニュー(orブックマークツールバー)で、    そのライブブックマークにポイントをあわせる (3)ミギクリックしてプロパティを選択    ⇒RSS フィードの欄にRSSのxmlのアドレスが書いてある (4)それをコピー (5)サンダーバードに切り替え、どっかのフォルダをミギクリックし、    購読を選択・・・あとは通常の手順だと思います。 ・・・と、こんな手順をとっているのですが、 どうも、手間がかかりすぎなきがします。 もっとラクな方法やアドインはあるのでしょうか? もしご存じでしたら、おしえていただければ幸いです。 RSSフィードをサンダーバードで購読したい

  • RSSフィードのないWebページにRSSの機能を提供するサービスFeedbeaterの使い方

    RSSフィードのないWebページにRSSの機能を提供するサービス Feedbeaterの使い方をご存じの方おられませんか。 使用したいのですが、英語がまったくなので、わかりません。 検索しても翻訳や使用方法を掲載しているサイトがありません。 どなたかご存知な方、もしくは使用方法が載っているサイトをご存じな方おられましたら教えて下さい。 宜しくお願い致します。

    • ベストアンサー
    • XML
  • Webページに文字列を探したい

    友達とのゲームで あるWebページに隠されたある文字列を探しています。 隠されているウェブページは .phpというhtmlでメソッドpostした先のウェブページです。 htmlソースにはある文字列(答えの文字列)はありませんでした。 可能性として文字列が隠されているであろうところはどこがあるでしょうか? htmlソースしか思い浮かびませんでした。

  • Webページ内の文字列の検索

    Webページ内の文字列の検索を行いたいです。ただし、複数の文字列を同時に検索したいと考えており、対象となる文字列はExcelの各セルに入力しています。どのようにすればよいか教えて頂けますようお願いします。環境はwindows7, Excel2007です。

  • blogのRSSデータをPHP等でWebページに表示したい

    現在Webページを製作しているのですが、blogで作成されたRSSデータを別の場所で表示したいと考えています。 調べたところ、レッツPHPさんの所がヒットしたのですが、このようなものでなく、フォントデータや画像のデータをそのまま表示するものが欲しいのです。 要するにRSSデータを解析して、文字等をこちらの都合で書き換えるのではなく、元のデータのフォントサイズが大きくなれば、こちらの表示も大きくなるといったものがです。 RSSのデータを見ている限りでは、フォントデータや画像データを持っているため、可能なことだと思うのですが、それを実現する手段が分かりません。 このような場合に、用いる事ができるもの等ありましたら、教えていただけるとありがたいです。 それでは、よろしくお願い致します。

  • RSSのフィードを受取り、それをWEB上で表示する方法

    あるサイトのRSSフィードを、別のサイトのページ上で表示させたいと思います。その場合の別サイトでの表示方法をご存知の方がいらっしゃいましたらご教授願います。また、この手法を用いてニュースサイトから最新のニュースを受取り、別サイトのページ上で表示する場合、権利の問題はクリアできそうでしょうか? 有識者の方々、ご指導の程、よろしくお願い致します。

    • ベストアンサー
    • HTML
  • [初心者]perlで文字列抽出

    perlの超初心者です. 標準出力された文字の中から任意の文字列をperlで抽出したいのですが... 例えば, 1 lsコマンドでファイル一覧を表示 2 表示された中から任意の文字列とマッチするものを抽出 3 マッチした文字列の後ろの文字を知る(拡張子とか) 4 さらに,1~3を'perl hoge.pl'とコマンド打つだけのワンアクションでやりたい. という感じなのですが... 勉強を始めたばかりなので,どういったキーワードを勉強すればよいのか,見当つかない状態です... おそらく,私がしょうもない質問をしているのだろうとは思いますが, 何かヒントでも教えていただければ幸いです. 周りに詳しい人物もいないので,なんとか頑張って習得したいと思っています. よろしくお願いしますm(><)m

    • ベストアンサー
    • Perl
  • Excelで文字列の抽出をしたいので教えてください

    Excelで下記の文字列を抽出したいのですがどなたか教えてください 例) - abcdef xxxx ---- この場合任意の文字桁も不明で最初のブランクの後のabcdefを抽出 -- abc -- def zzz この場合任意の文字,桁も不明で2回目の'--'後のdefを抽出したいのですが宜しくお願いします