Написал код который может имена заменить на html ссылки в тексте, но при выводе оно почему-то пишет одни и те же имена. Например, что я хочу вывести:
Welcome, @user. Welcome, @user2. А выводит:
Welcome, @user2. Welcome, @user2.
<?php
$re = '/@[a-zA-Z0-9]+/m'; // Паттерн на замену
$str = 'Welcome, @user! Welcome, @user2!'; // Текст для замены имен пользователя
preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);
foreach ($matches as $a) {
$content_for_replace = $a[0];
$content_to_replace = '<a href="profile.php?user='$b'">'.$b.'</a>';
$str = preg_replace($re, '<a href="">'.$a[0].'</a>', $a[0]);
}
echo $str;
?>
Я понимаю, что во время этого цикла он заменяет по паттерну все совпадения, но я не могу понять, как это исправить?