我在这里测试regexpal.com它应该匹配,但它不匹配......
$tabla_contenido = "ouseout=\"sacarobs();\">06/01/2014 10:21</a></td><td align='right'><a class='texto'><b>Pendiente</b></a></td><td align='right'><a class='texto'><b>Pendiente</b></a></td><tr class='eltr' onclick=\"ventana('mostrar_nota_de_pedido.php?nnp=117&ven=152&cli=0001&scl=C07&pr=96244651', 'pedidos_listadoNelson');\" ><td align='right'><a class='texto'>117</a></td><td align='right'><a c";
$tabla_data = preg_split("|<tr([^>.]|\.|\,)*>|", $tabla_contenido);
foreach ($tabla_data as $line){
echo $line."\n\n\n";
}
$ tabla_data为空
答案 0 :(得分:1)
问题是你没有逃避正则表达式中的|
。最简单的解决方案是使用不同的分隔符,例如~
:
$tabla_data = preg_split("~<tr([^>.]|\.|\,)*>~", $tabla_contenido);
或者,您可以使用反斜杠转义|
字符,即|
将变为\|
,但它会使您的正则表达式有点不可读,所以我建议使用不同的分隔符代替