У меня есть небольшая проблема, о preg_match_all и str_replacePHP preg_match_all и str_replace
<?
$source = 'hello @user_name, hello @user_name2, hello @user_name3';
preg_match_all("/@[\w\d_]*/s", $source, $search);
foreach($search[0] as $result) {
$source = str_replace($result, "<b>okay</b>", $source);
}
echo $source;
?>
результат (неправильно):
hello <b>okay</b>, hello <b>okay</b>2, hello <b>okay</b>3
правильный результат должен быть таким:
hello <b>okay</b>, hello <b>okay</b>, hello <b>okay</b>
Кто-нибудь может помочь? Спасибо!
привет Crontab, спасибо за советы. Я пытаюсь использовать '$ source = preg_replace ('/'.$ result.'/',' '. $ result.' ', $ source) ;, но результат такой же .. :( –
Я хотел использовать 'preg_replace()' самостоятельно вместо использования 'preg_match_all()' и 'str_replace()' в тандеме. – Crontab
hmm, если я не использую 'preg_match_all', я не знаю, в какую строку следует символ' @ ', который должен быть заменен на ...? Как это? –