0

我有这个字符串

@[123:peterwateber]你好!再会!

我想把它改成<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 回答