-1
<div class="large-notice"><h2>yyyy</h2><p>ABCD</p><form>zzzz</form></div>

使用它preg_match,我可以提取以下之间的所有文本<div>....</div>

preg_match('#<div class="large-notice">(.*?)</div>#s', $one, $n);

<p>但我只想要和之间的文本</p>,即ABCD

4

2 回答 2

2

有多种方法可以做到这一点,很大程度上取决于我们是只处理这一个特定的标记,还是处理有一些波动的整个文档。

无论如何,以下任何一项都应该有效:

preg_match('#<div class="large-notice"><h2>.*?</h2><p>(.*?)</p><form>.*?</form></div>#s', $one, $n);

preg_match('#<p>(.*?)</p>#s', $one, $n);
于 2013-06-22T16:52:58.643 回答
0

在我看来,前面的答案更好,但您也可以使用 strpos 找到您要查找的字符串的起始位置和结束位置并将其替换掉......干杯

于 2013-06-22T18:22:21.793 回答