javaScriptはウェブサイトのテキストを識別し、リンクテキストに変換します.

2055 ワード

最近のプロジェクトに必要なものがあります.ユーザ間でメッセージを送る場合、送信者が入力した情報にURLテキストが含まれている場合、受信者インターフェースにURLリンクを表示し、クリックして直接ウェブページにジャンプします.この機能はQQとウェブサイトのテキストを送る効果ととても似ています.
 
考え方:まず、テキストにURLテキストが含まれているかどうかを判断します.次に、URLテキストをクリックできるリンクテキストに変換します.もうすぐURLテキストはaタグで囲まれます.
 
判断URL:
javaScriptではある種の特殊な形式のテキストを判断し、正規表現を優先します.以下は私がウェブサイトをチェックするための正則です.
var re = /^(f|ht){1}(tp|tps):\\/\\/([\\w-]+\\.)+[\\w-]+(\\/[\\w- ./?%&=]*)?/g;
ここで注意すべきことは、正則はグローバル整合gを使用しなければならないことである.テキストの最初のURLテキストにのみマッチします.
 
URLをリンクテキストに変換:
URL変換に文字列の操作が含まれていますが、Stringオブジェクトを使用する方法はもちろん、Stringオブジェクトを復習して正規表現と一緒に使用できる方法は何がありますか?よく使うのはこのいくつですか?
search:正規表現にマッチする値を検索します.match:正規表現の一つ以上のマッチを見つけます.replace:正規表現と一致するサブストリングを置換します.スプリット:文字列を文字列配列に分割します.
この中でreplaceが一番便利で、この需要に一番適していると見られます.
 
replace関数の使い方:
構文:
string.replace(searchvalue,newvalue)
パラメータ解析:
searchvalue:必須です.サブ文字列または置換するモードのRegExpオブジェクトを指定します.この値が文字列の場合、最初にRegExpオブジェクトに変換されるのではなく、検索する直接量テキストモードとして使用されます.
newvalue:必要です.文字列の値.テキストの置換または置換テキストを生成する関数が定められています.
注意:2番目のパラメータは、関数を使用してテキスト置換のルールを制定することをサポートします.
 
ニーズを振り返ると、URLをaリンクに変換すると、変換ルールは以下の通りです.
url => url
 
上の分析過程に基づいて、コードを使って下記のように説明します.
var urlToLink = function(str){
    var re = /^(f|ht){1}(tp|tps):\\/\\/([\\w-]+\\.)+[\\w-]+(\\/[\\w- ./?%&=]*)?/g; 

str = str.replace(re, function(website){
return "「+website+」";
});
return str;
};
 
ここで、javaScriptはウェブサイトのテキストを識別し、リンクテキストの関数に変換しました.