I would forget <textarea>
s completely. Output HTML into a <div>
and use CSS to format your markup.
An example:
<div class="chatbox">
<p><span class="name">Oli:</span> My message</p>
<p><span class="name">Oli:</span> My message</p>
<p><span class="name">Oli:</span> My message</p>
<p><span class="name">Oli:</span> My message</p>
</div>
with some of the following formatting:
.chatbox {overflow:auto;width:500px;height:200px}
.chatbox p {}
.chatbox .name {font-weight:bold}
All fairly simple but you can dial it up if you know how. (Note: width and height must be fixed for overflow to work).