我有一个字符串,我想提取
之间的值<p><strong>Polka Longsleeve</strong><br />Twistcone<br />Bust 95<br />Length 60<br />Po Bkk 04-10Nov <br />Closed Po 10 Nov (11AM On time)</p>
我一直在尝试使用strip_tag,但我找不到特定的标签,在这种情况下是强大的。那么什么是最好的解决方案?
答案 0 :(得分:2)
您可以使用DOM在标记...
之间提取内容$doc = DOMDocument::loadHTML('
<p><strong>Polka Longsleeve</strong><br />Twistcone<br />Bust 95<br />
Length 60<br />Po Bkk 04-10Nov <br />Closed Po 10 Nov (11AM On time)</p>
');
$tag = $doc->getElementsByTagName('strong');
echo $tag->item(0)->nodeValue; //=> "Polka Longsleeve"
答案 1 :(得分:1)
虽然问题标有正则表达式,但有经验的人已经回答了问题。我听说使用正则表达式解析HTML并不是一个好主意。如你所知,PHP现在支持DOM解析,所以你可以试试,
$dom = new DOMDocument;
$dom->loadXML($str);
$str = $dom->getElementsByTagName('strong')->item(0)->nodeValue;
可能有用,我还没有测试,或者getTextBetweenTags
。
答案 2 :(得分:0)
$pos=strpos($str,'<strong>');
$end=strpos($str,'</strong>');
echo substr($str,$pos+8,$end);