Per fare il match di parole intere, nelle espressioni regolari si usano i lookahead/lookbehind. Non so se funzionano con eregi_replace, con preg_replace sicuramente si.

Un po' di info a riguardo le trovi qui!
http://www.regular-expressions.info/lookaround.html

Cmq senza incasinarti troppo si risolve con questa espressione

[b]([^<]+)<\/b>

dove [^<] indica 'tutti i caratteri diversi da "<"'.

Ciao!