I'm not sure this is the right place to post this, if not please let me know where I should ask the question.
I'm writing my first plugin (a filter) which is also one of my first PHP projects. I'm a bit confused over how my code works in WP and I assume I've missed something. After having stripped away all the code that actually did something I have a filter that returns the following text
<div><a href="xx"> <img src="yy" /> </a> text </div>
Which shows up the same way on the wordpress page. But if I change this to
<div><a href="xx"> <img src="yy" /> </a> <p>text</p> </div>
then I get
<div><a href="xx"> <img src="yy" /> </a> <p>text</p> </p></div>
when on the wordpress page. As far as I understand WP seem to do some processing of the code I generate ... which in this case generates some faulty HTML code.
Can anyone please explain what is happening and what I can do to prevent the processing of the code I've generated.