Мне нужно удалить теги HTML в одной строке и оставить только один их тип. У меня есть одна строка, содержащая это:
<!-- comment --> <div id="55"> text </div> <span name=annotation value=125> 2 text </span> <p id="55"> text 3</p><span>text 4 <span>
и мне нужно это:
text <span name=annotation value=125> 2 text </span> text 3text4
поэтому мне нужно удалить все теги HTML, кроме тех, которые имеют эту форму
"/(<span[^>]*annotation[^>]*value=.?(\w*).?[^>]*>)(.*?)<\/span>/"
Я использую это как часть другого выражения, но чтобы получить представление
Как я могу это сделать?
Я знаю, что это можно сделать с помощью preg_replace()
, но я не знаю, какой шаблон мне нужен.
Пример:
$str='<!-- comment --><p><b>Deoxyribonucleic acid</b> (<b>DNA</b>) is
a molecule encoding the <a href="/wiki/Genetics" title="Genetics">genetic</a> instructions
used in the development and functioning of all known living <a href="/wiki/Organism" title="Organism">organi
sms</a> and many <a href="/wiki/Virus" title="Virus">viruses</a>. Along with <a href="/wiki/RNA" title="RNA">RNA</a> and <a href="/wiki/Proteins" title="Proteins" class="mw-redirect">proteins</a>, DNA is one of the three major
<a href="/wiki/Macromolecules" title="Macromolecules" class="mw-redirect">macromolecules</a>
that are essential for all known forms of <a href="/wiki/Life" title="Life">life</a>.
Genetic information is encoded<span id="200120131815150"
class="mymetastasis" value="247" name="annotation"> as a sequence of nucleotides (</span><a href="/wiki/Guanine" title="Guanine"><span id="200120131815151" class="mymetastasis" value="247" name="annotation">
guanine</span></a><span id="200120131815152" class="mymetastasis" value="247" name="annotation">, </span><a href="/wiki/Adenine" title="Adenine"><span id="200120131815153" class="mymetastasis" value="247"
name="annotation">adenine</span></a><span id="200120131815154" class="mymetastasis" value="247" name="annotation">,
</span><a href="/wiki/Thymine" title="Thymine"><span id="200120131815155" class="mymetastasis" value="247"
name="annotation">thymine</span></a><span id="200120131815156" class="mymetastasis" value="247" name="annotation">,
and </span><a href="/wiki/Cytosine" title="Cytosine">
<span id="200120131815157" class="mymetastasis" value="247" name="annotation">cytosine</span></a><span id="200120131815158" class="mymetastasis" value="247" name="annotation">)
recorded using the letters G, A, T, and C. Most DNA molecules are double-strande</span>d helices, consisting of two long <a href="/wiki/Polymers" title="Polymers" class="mw-redirect">polymers</a> of simple units called <a href="/wiki/Nucleotide"
title="Nucleotide">nucleotides</a>, molecules with <a href="/wiki/Backbone_chain" title="Backbone chain">backbones</a>
made of alternating <a href="/wiki/Monosaccharide" title="Monosaccharide">sugars<
/a> (<a href="/wiki/Deoxyribose" title="Deoxyribose">deoxyribose</a>) and <a href="/wiki/Phosphate"
title="Phosphate">phosphate</a> groups (related to phosphoric acid), with the <a href="/wiki/Nucleobases" title="Nucleobases" class="mw-redirect">nucleobases</a> (G, A, T, C) attached to the sugars. DNA is well-suited for biological information storage, since the DNA backbone is resistant to cleavage and the double-stranded structure provides the molecule with a
built-in duplicate of the encoded information.</p>';
PD: разрывы строк, табуляция и т. д. непреднамеренны. Часть исходного текста.