0

私は、ユーザーがテキストを記述し、JavaScriptでテキストとタグを処理するだけ<textarea>で、要素に「リアルタイム」で表示できる要素を持つPHP動的Webページに取り組んでいます。<div>

JavaScript正規表現を使用して、角かっこの間の「b」、「u」、およびタグ(phpBBスタイルなど)を「strong」、「u」などの同等のHTMLに変更します。

タグを処理する必要がある場合に問題が発生しurlます。入力から次のようなURLを抽出する必要があります。

[url=http://...]

どうすればそれを次のように置き換えることができますか?

<a href="http://...">
4

1 に答える 1

0

これは機能するはずです:

str.replace(/\[url=([^\s"<>\]]+)\]/gi, '<a href="$1">$1</a>');

これでパラメータを取得し、[url=...]面白いビジネス(<>またはスペース)を除いて、URLをリンク先とリンクテキストの両方として使用して、ハイパーリンクに変更する必要があります。

これにより、のようなものが可能になり[url=javascript:while(1)alert('Boo!')]、クリックするとユーザーを本当に苛立たせるリンクが生成されます。そのようなものをブロックするには、サニタイズフィルタリングを追加する必要があります。

于 2009-07-09T09:48:49.657 に答える