Search code examples
phpregexpreg-matchpreg-match-all

Regex that extracts text between tags, but not the tags


I want to write a regex which extract the content that is between two tags <title> in a string but not the tags. IE I have the following

<title>My work</title>
<p>This is my work.</p> <p>Learning regex.</p>

The regex

(<title>)(.*?)(<\/title>)

extracts <title>My work</title> but I want to extract only My work. How can I do that? This is a link to the example http://regex101.com/r/mD8fB0


Solution

  • You can use this following Regex:

    >([^<]*)<
    

    or, >[^<]*<

    Then eliminate unwanted characters like '<' & '>'