Каков наилучший способ выделить весь текст между двумя тегами - например, текст между всеми тегами 'pre' на странице.
Я использую это решение:
preg_match_all( '/<((?!<)(.|\n))*?\>/si', $content, $new); var_dump($new);
Вы можете использовать Pattern pattern = Pattern.compile( "[^<'tagname'/>]" );
Pattern pattern = Pattern.compile( "[^<'tagname'/>]" );
Для нескольких строк:
<htmltag>(.+)((\s)+(.+))+</htmltag>
<pre>([\r\n\s]*(?!<\w+.*[\/]*>).*[\r\n\s]*|\s*[\r\n\s]*)<code\s+(?:class="(\w+|\w+\s*.+)")>(((?!<\/code>)[\s\S])*)<\/code>[\r\n\s]*((?!<\w+.*[\/]*>).*|\s*)[\r\n\s]*<\/pre>