PHP复杂preg_replace [关闭]

I want to replace a string I have coded like this

jsbdahsbdaisd [[aaa]]ID1#random text 1[[/aaa]] asdasdasd [[aaa]]ID2#random text 2[[/aaa]]

to something like

jsbdahsbdaisd <span onclick="function(ID1)">random text 1</span> asdasdasd <span onclick="function(ID2)">random text 2</span>

Is it possible to do this with preg_replace in one line?

Thanks

I did this as a find/replace:

<?php

$string = 'jsbdahsbdaisd [[aaa]]ID1#random text 1[[/aaa]] asdasdasd [[aaa]]ID2#random text 2[[/aaa]]';

$new_string = preg_replace('/\[\[aaa\]\](ID[0-9]+)#([-A-Z0-9 _.]+)\[\[\/aaa\]\]/i', '<span onclick="function($1)">$2</span>', $string);

print $new_string;

This outputs:

jsbdahsbdaisd <span onclick="function(ID1)">random text 1</span> asdasdasd <span onclick="function(ID2)">random text 2</span>