1 回答

TA贡献1828条经验 获得超3个赞
我的猜测是,在这里您可能需要类似于以下内容的表达式:
<\s*div style="width:100%;overflow:hidden;"\s*>([\s\S]*?)<\/div>|<td align="right">(.+?)<\/td>
用于捕获任何字符和换行符使用([\s\S]*?).
您的尝试很好,但是,(.*?)不会通过换行符,这些将:
([\s\S]*?)
([\d\D]*?)
([\w\W]*?)
测试
$re = '/<\s*div style="width:100%;overflow:hidden;"\s*>([\s\S]*?)<\/div>|<td align="right">(.+?)<\/td>/m';
$str = '<td align="left"><div style="width:100%;overflow:hidden;">
2019.06.04 09:35
</div></td><td>5176</td><td align="right">0.00</td><td align="right">0.00</td><td align="right">5,000.00</td><td align="right">5,000.00</td><td>орлого</td><td> </td>
</tr><tr>
<td align="left"><div style="width:100%;overflow:hidden;">
2019.06.04 09:35
</div></td><td>5024</td><td align="right">5,000.00</td><td align="right">-50.00</td><td align="right">0.00</td><td align="right">4,950.00</td><td>Ухаалаг мэдээ үйлчилгээний хураамж</td><td> </td>
</tr><tr>
<td align="left"><div style="width:100%;overflow:hidden;">
2019.06.14 11:00
</tbody>
</table>
</div>';
preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);
// Print the entire match result
var_dump($matches);
输出
array(11) {
[0]=>
array(2) {
[0]=>
string(69) "<div style="width:100%;overflow:hidden;">
2019.06.04 09:35
</div>"
[1]=>
string(22) "
2019.06.04 09:35
"
}
[1]=>
array(3) {
[0]=>
string(27) "<td align="right">0.00</td>"
[1]=>
string(0) ""
[2]=>
string(4) "0.00"
}
[2]=>
array(3) {
[0]=>
string(27) "<td align="right">0.00</td>"
[1]=>
string(0) ""
[2]=>
string(4) "0.00"
}
[3]=>
array(3) {
[0]=>
string(31) "<td align="right">5,000.00</td>"
[1]=>
string(0) ""
[2]=>
string(8) "5,000.00"
}
[4]=>
array(3) {
[0]=>
string(31) "<td align="right">5,000.00</td>"
[1]=>
string(0) ""
[2]=>
string(8) "5,000.00"
}
[5]=>
array(2) {
[0]=>
string(69) "<div style="width:100%;overflow:hidden;">
2019.06.04 09:35
</div>"
[1]=>
string(22) "
2019.06.04 09:35
"
}
[6]=>
array(3) {
[0]=>
string(31) "<td align="right">5,000.00</td>"
[1]=>
string(0) ""
[2]=>
string(8) "5,000.00"
}
[7]=>
array(3) {
[0]=>
string(29) "<td align="right">-50.00</td>"
[1]=>
string(0) ""
[2]=>
string(6) "-50.00"
}
[8]=>
array(3) {
[0]=>
string(27) "<td align="right">0.00</td>"
[1]=>
string(0) ""
[2]=>
string(4) "0.00"
}
[9]=>
array(3) {
[0]=>
string(31) "<td align="right">4,950.00</td>"
[1]=>
string(0) ""
[2]=>
string(8) "4,950.00"
}
[10]=>
array(2) {
[0]=>
string(99) "<div style="width:100%;overflow:hidden;">
2019.06.14 11:00
</tbody>
</table>
</div>"
[1]=>
string(52) "
2019.06.14 11:00
</tbody>
</table>
"
}
}
分享
- 1 回答
- 0 关注
- 131 浏览
添加回答
举报