- var_dump: documentation ( source)
- preg_replace_callback: documentation ( source)
<?php
/*
<_link>user://1|Team GB
<a href="user/1">Team GB</a>
<_link>tag://FridayBeers|#FridayBeers
<a href="tags/FridayBeers">#FridayBeers</a>
*/
$pattern = "~\<_link\>((user)\://(?<userId>\d+)|(tag)\://(?<tagLink>[a-zA-Z]+)\|#(?<tagTitle>[a-zA-Z]+))~";
$string = "<_link>user://1|Team GB and <_link>tag://FridayBeers|#FridayBeers";
preg_replace_callback($pattern, function($match) {
var_dump($match);
}, $string);