繁体   English   中英

带有preg_split的regexp无法正常工作

[英]regexp with preg_split doesn't work as expected

我在这里测试了regexpal.com ,它应该匹配,但是不匹配...

$tabla_contenido = "ouseout=\"sacarobs();\">06/01/2014&nbsp;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为空

问题是您没有转义| 在您的正则表达式中 最简单的解决方案是使用其他定界符,例如~

$tabla_data = preg_split("~<tr([^>.]|\.|\,)*>~", $tabla_contenido);

或者,您可以转义| 带有反斜杠的字符,即| 会变成\\| ,但它会使您的正则表达式有点难以理解,因此建议您改用其他定界符。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM