ともさんのHP >プロブラミング >自作JavaLibrary >ホームページ内の特定の語句を強調するメソッド
ホームページ内の特定の語句を強調するメソッド
天気の良い日曜日だというのに、部屋に閉じこもっています。
冬の週末はせっせと柿の剪定に精を出すのですが。
土曜日に休日出勤だったので、今日1日だけ帰省するのも大儀なので、社宅で一人淋しくしています。
最近続けているホームページの修正を今日もしました。
HP内の検索にかかって欲しい語句に強調タグをつけるように改造しました。
アクセス数を増やしたいなら、内容の濃い、喜ばれるHPを作ることが大前提でしょうけど、
検索に引っかからなければ、だあれも訪れてはくれません。
そんなことで、今回の改造をしました。前回のマルコフ連鎖文章の追加もおんなじ目的です。
HP作成プログラムに追記したメソッドは下記の通り。
stmpaに変換前の文をいれ、kyotyo[]内に、強調したい語句を入れます。
例えば、ミツバチを強調したい場合、
stmpa=「ミツバチを強調したい」
kyotyo[]={"ミツバチ"}
なら、
「ミツバチを強調したい」
となります。
但し、画像やリンク先の説明文の中には入れない、文中の最初の1回目しか強調しない。
ことにしました。
あんまりしつこく強調タグを入れすぎると、逆に検索エンジンに嫌われてしまうようです。
以下Javaソース
public String instkyotyo( String stmpa )
{
String stmpb="";
String stmpc ="";
boolean flug = false;
boolean flugb = false;
boolean flugc = false;
if( stmpa == null ){return stmpa ;}
for(int i = 0 ; i < kyotyoLen ; i++ ){
flugc = false;
do{
flug = false;
flugb= false;
if( stmpa.indexOf( kyotyo[i]) > -1 )
{
flug = true;
stmpb = stmpb + stmpa.substring( 0 , stmpa.indexOf( kyotyo[i] ) );
stmpa = stmpa.substring( stmpa.indexOf( kyotyo[i] ) + kyotyo[i].length() , stmpa.length() );
stmpc = stmpb.toUpperCase();
/*強調文中でないかの確認*/
if( stmpc.lastIndexOf("<STRONG>") <= stmpc.lastIndexOf("</STRONG>")){
/*リンク先の説明でないかの確認*/
if( stmpc.lastIndexOf("HREF") <= stmpc.lastIndexOf("/A")){
/*画像の説明でないかの確認*/
if( stmpc.lastIndexOf("ALT") <= stmpc.lastIndexOf(">")){
flugb = true;
}}}
if( flugb ){
if(flugc==false){
stmpb = stmpb + "<strong>"+kyotyo[i]+"</strong>";
flugc = true;//この行を有効にすると一致語句最初だけリンクが張られる
} else{ stmpb = stmpb + kyotyo[i]; }
}else{ stmpb = stmpb + kyotyo[i]; }
}
}while( flug );
stmpa = stmpb + stmpa ;
stmpb = "";
}
return stmpa ;
}
最終更新日: 2010-12-12 11:50:16
ともさんのHP >プロブラミング >自作JavaLibrary >ホームページ内の特定の語句を強調するメソッド
ツイート