0

私はこの文字列を持っています

@[123:ピーターウォーターバー]こんにちは!良い一日!

に変えたい<a href="123">peterwateber</a> &lt;b&gt;hellow!&lt;/b&gt;! good day!

私が最初にやりたいことは、指定された文字列から、最初に @[123:peterwateber] を取得し、それをアンカー タグに変換すると、htmlspecialchars を含む残りの文字列がプレーン テキストに解析されます。これを行う方法?

私はこのコードでphpを使用して最初のものを行いました:preg_match('#@\[(\w+)\:(\w+)\]#', $hidden_input, $m)しかし、今回はjqueryまたはjavascriptでやりたいです...何か提案はありますか? この問題を解決するのに3日かかりました:(

4

2 に答える 2

1

JavaScriptで正規表現を置き換えます

'@[123:peterwateber] hello! good day!'.replace(
    /@\[(.*):(.*)\](.*)/,
    '<a href="$1">$2</a>$3'
 )
于 2012-04-07T05:56:56.287 に答える
1

次のようなことができます:

var text = 'And then @[123:peterwateber] said "Hello world!". After that @[123:nathanjosiah] was talking about a jsfiddle';

text = text.replace(/@\[(\d+)\:(\w+)\]/g, '<a href="$1">$2</a>')
// output: And then <a href="123">peterwateber</a> said "Hello world!". After that <a href="123">nathanjosiah</a> was talking about a jsfiddle
于 2012-04-07T06:01:09.943 に答える