Javascriptを使用して次のことを行うにはどうすればよいか疑問に思っていました。
次のようなテキストがあったとします
var test = '#test is a #cool #place';
そして、私は次のものが欲しい
<a href="abc.html?q=test">#test</a> is a <a href="abc.html?q=cool">#cool</a> <a href="abc.html?q=place">#place</a>
どうすればいいですか?
Javascriptを使用して次のことを行うにはどうすればよいか疑問に思っていました。
次のようなテキストがあったとします
var test = '#test is a #cool #place';
そして、私は次のものが欲しい
<a href="abc.html?q=test">#test</a> is a <a href="abc.html?q=cool">#cool</a> <a href="abc.html?q=place">#place</a>
どうすればいいですか?
test = test.replace(/#([^ ]+)/g, '<a href="abc.html?q=$1">#$1</a>');
私は個人的にこれが好きです:
stringToMatch.replace(/(<a[^>]*)?#(\w+)(?!\w)(?!.*?<\/a>)/g,
function($0, $1, $2) {
return $1 ? $0 : '<a href="'+ window.location +'?q=' + $2 + '">#' + $2 + '</a>';
}
));
これは、他のリンクを除くすべてに一致します。この例を参照してください。