我的字符串类似于{usr_lnk_@fname-lname.47_12}
。
其中@fname-lname.47
是用户名,12
是用户ID,这是动态的。
字符串可能类似于{usr_lnk_@fname.lname_15}
和{usr_lnk_@fname_160}
我希望输出像
<a href="http://www.example.com/12">@fname-lname.47</a>
<a href="http://www.example.com/15">@fname.lname</a>
任何人都可以帮助我吗?我不知道php常规表达。
答案 0 :(得分:1)
怎么样:
preg_replace('/\{[^@]+(@[^_]+)_(\d+)\}/',
'<a href="http://www.example.com/$2">$1</a>',
'{usr_lnk_@fname-lname.47_12}');
答案 1 :(得分:0)
preg_match_all('/(@[\w.-]+)/', $string, $m);
print_r($m[1]);
答案 2 :(得分:0)
你可以这样做:
$string = preg_replace('~{[^@}]+(@[^}]+)_(\d+)}~',
'<a href="http://www.example.com/$2">$1</a>',
$string);