remove <span></span>

I would like to remove all span html tags (and the contents in it) and the end of span too. <span xxx...></span>
I also need to remove chunk in between <p xxxx....> tags - just leaving <p>.

I would prefer two separate operations so that I can learn to do this on my own.
What is the best way to do this?
----------
Update: I found the answer on Stack Overflow
'/<span[^>]+\>/i' and '/<\/span\>/i'

I don't share your skepticism. What is needed is to find every "<span", erase it and everything until you reach a ">" and erase it. I don't know regex well enough to do it but it would be something like "<span[*]>".