私は現在、プロジェクトに取り組んでおり、リンクのためのメッセージの解析に少し問題があります。私はhtmlの文字列をhtmlに変換してからdangerouslySetInnerHTMLを使って変換するより良い方法があるのだろうかと思っていました。この方法では危険である可能性があるので、私はむしろよりきれいな方法で処理する方法を模索しています。Reactx文字列をhtmlにする
//Function for regex
var www_reg = /(?:^|[^"'])(^|[^\/])(www\.[\S]+(\b|$))/gim;
message = message.replace(www_reg, '$1<a href="http://$2" class= "link" target="_blank">$2</a>');
return {__html: message};
//Render
<div className='message-class' onClick={this.clickedLink} dangerouslySetInnerHTML={this.replaceURLWithHTMLLinks(display_message.last_message)}>
'message'のサンプルを提供できますか?また、私は 'encodeURIComponent()を実装するとどんな危険も取り除くでしょう。 –
これはいつも' 'を持っていますか?もしそうなら、それをテンプレートに書いて、href属性と内部のテキストだけを変更できますか?動的なものは文字列であり、htmlではないようです。 – daveyfaherty
メッセージには、プランの単純なテキストまたはリンクの内容を含めることができます。一般的な例としては、「この記事はwww.cnn.comでチェックアウト」や「あなたの日はどうなっていますか」などのメッセージを送信する人がいます。最初のメッセージの場合は、www.cnn.comだけがリンクを取得し、2番目のメッセージの場合はリンクがありません。それはちょうど部門にメッセージを右に渡す –