I'm not sure how to do it in sed exactly, as I don't have much experience with it, but I recently discovered how to match the text between tags with regex. You could try something like this:
This will match the first <p>, then match everything that isn't
a '<' until it reaches the next actual closing </p> tag. The negated middle part ensures that it will stop at the first ending tag it encounters; you can't just use a simple wildcard like '.+' because then the regex will be 'greedy' and capture everything up to the final
instance of the closing tag on the line. And in regex, everything within the parentheses can be used in the output with '\1', so you can exclude the tags from the output (not really sure if this works the same way in sed though).
I'm sure some regex guru will come along presently and show you something better, but I'm pretty happy about discovering how to do this on my own.