我有这样的内容
<p>some content,paragraph 1</p> <p>some content,paragraph 2</p> <p>some content,paragraph 3</p>
我想返回第一段,即@H_502_4@
<p>some content,paragraph 1</p>
你可以这样做:
if (preg_match('%(<p[^>]*>.*?</p>)%i',$subject,$regs)) { $result = $regs[1]; } else { $result = ""; }
你根据常规表达式测试你的字符串,如果有一些匹配,你得到第一个,只得到第一个,如果没有,$result将是一个空字符串.@H_502_4@
如果你需要获得超过第一个结果,你可以迭代$regs数组.而且你需要找到任何其他标签更改常规expresión来加工它,例如找到你使用的IMAGE标签:@H_502_4@
(<img[^>]*>.*?</img>)
编辑:如果你是逐行处理(只有你正在寻找的标签),你可以在表达式周围放置^ … $以匹配一个完整的行,如下所示:@H_502_4@
if (preg_match('%^(<p[^>]*>.*?</p>)$%im',$regs)) { $result = $regs[1]; } else { $result = ""; }
HTH,问候.@H_502_4@