Правильно, иди учи русский.Автор оригинала: kabachok
я видно не правельно выразился
$str='бла бла 1 бла бла бла 1 бла 1 много бла 1 и т.п.';
$str=str_replace('1','2',$str);
echo $str;
function smiles($msg) {
$max='3';
$code[]='/\:\)/'; $repl[]='<img src="smiles/01.gif" alt=""/>';
$code[]='/\:\(/'; $repl[]='<img src="smiles/02.gif" alt=""/>';
$msg=preg_replace($code,$repl,$msg,$max);
return $msg;
}
и
заменятся все а не первые три/* 0xEngine/core/bbcode.php */
$GLOBALS['smiles1'] = array();
$GLOBALS['smiles2'] = 0;
$this->result = preg_replace_callback('~:(\w+):~i',
create_function('$a','
if ($GLOBALS[\'smiles1\'][strtolower($a[1])] < 3 and $GLOBALS[\'smiles2\'] < 10 and file_exists(\'./images/smiles/\'.$a[1].\'.gif\'))
{
if (!isset($GLOBALS[\'smiles1\'][strtolower($a[1])])) {$GLOBALS[\'smiles1\'][strtolower($a[3])] = 0;}
$GLOBALS[\'smiles1\'][strtolower($a[1])]++; $GLOBALS[\'smiles2\']++; return \'<img src="/images/smiles/\'.$a[1].\'.gif" border=0>\';
}
else {return $a[0];}'),$this->result);
unset($GLOBALS['smiles1'],$GLOBALS['smiles2']);

function smiles($msg) {
$max='1';
$code[]='/\:\)/'; $repl[]='<img src="smiles/01.gif" alt=""/>';
$code[]='/\:\(/'; $repl[]='<img src="smiles/02.gif" alt=""/>';
$msg=preg_replace($code,$repl,$msg,$max);
return $msg;
}