get everything between <tag> and </tag> with php [duplicate]
You can use the following:
$regex = '#<\s*?code\b[^>]*>(.*?)</code\b[^>]*>#s';
-
\b
ensures that a typo (like<codeS>
) is not captured. - The first pattern
[^>]*
captures the content of a tag with attributes (eg a class). - Finally, the flag
s
capture content with newlines.
See the result here : http://lumadis.be/regex/test_regex.php?id=1081
this function worked for me
<?php
function everything_in_tags($string, $tagname)
{
$pattern = "#<\s*?$tagname\b[^>]*>(.*?)</$tagname\b[^>]*>#s";
preg_match($pattern, $string, $matches);
return $matches[1];
}
?>