0

テキストをhtmlタグに置き換えようとしています。私はこのコードを使用しています:

  $('p').each(function () {
    $(this).text($(this).text().replace(/(http:\/\/.+?)(\s|$)/g, function(text, link) {
               return '<a href="'+ link +'" target="blank">'+ link +'</a>';
            }).replace(/(www\..+?)(\s|$)/g, function(text, link) {
               return '<a href="http://'+ link +'" target="blank">'+ link +'</a>';
                })
            );  
        });

しかし、問題は、テキストをhtmlではなく、別のテキストに置き換えていることです。

例えば:

          www.google.com 

になる(まだテキスト):

          <a href="http://www.google.fr" target="blank">www.google.fr</a>

どうすればそれを解決できるかについてのアイデアはありますか?

4

2 に答える 2

4
$(this).text(...)

要素のテキストを設定しています。

HTMLを設定するには、を呼び出します.html()

于 2013-01-16T19:55:54.340 に答える
1

使用.html()

 $('p').each(function () {
    $(this).html($(this).text().replace(/(http:\/\/.+?)(\s|$)/g, function(text, link) {
               return '<a href="'+ link +'" target="blank">'+ link +'</a>';
            }).replace(/(www\..+?)(\s|$)/g, function(text, link) {
               return '<a href="http://'+ link +'" target="blank">'+ link +'</a>';
                })
            );  
        });

作業デモ

于 2013-01-16T20:00:32.337 に答える