日期:2014-05-17  浏览次数:20463 次

PHP如何用正则表达式匹配圆括号
我在做CURL数据采集,要获取 <span oncopy="setClipBoardData()"><p class="jianju">............</p><div></div></span>之间的内容,

我使用正则表达式来获取。

正则表达式我写成
<span[\s]oncopy="setClipBoardData\(\)"><p[\s]class="jianju">(.*)<\/p><div><\/div><\/span>

<span[\s]oncopy="setClipBoardData()"><p[\s]class="jianju">(.*)<\/p><div><\/div><\/span>

都不行。应该如何写呢?

------解决方案--------------------
试试,没有问题

如果匹配多行,正则/……/s s来修饰
PHP code

$html    =<<<DOC
我在做CURL数据采集,要获取 <span oncopy="setClipBoardData()"><p class="jianju">............</p><div></div></span>之间的内容,
DOC;

preg_match('/<span[\s]oncopy="setClipBoardData\(\)"><p[\s]class="jianju">(.*)<\/p><div><\/div><\/span>/', $html, $m);
print_r($m[1]);