I can even explain how... DataAssist adds it because if you were to show that content in a text field or some other standard form element it is necessary.
When you replaced the dataAssist created field with iRite you kept the default value specified, but you need to remove the str_replace() when adding iRite because iRite doesn't need any encoding since it is set up to handle complex strings already.