preg_match正则表达式找不到匹配项(但它适用于regex101)

时间:2016-04-25 23:16:55

标签: php regex

这是我的regex101示例,它有效:https://regex101.com/r/fE6rO9/2(你必须等待几个秒,因为它很大)

这是我的PHP

    $content = htmlentities($contentCode);
    /* correct echo when i copy paste it into regex101 */
    echo $content;

    // copy past from regex101
    $re = "/<\\/form><table class=\"forumline\" width=\"100%\" border=\"0\" cellspacing=\"1\" cellpadding=\"0\">(.*)<\\/table><table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">/"; 

    preg_match($re, $content, $matches);

    var_dump($matches);

但是当我运行它时,它回应:

array (size=0)
  empty

知道问题是什么吗?

这是正则表达式:

"/<\\/form><table class=\"forumline\" width=\"100%\" border=\"0\" cellspacing=\"1\" cellpadding=\"0\">(.*)<\\/table><table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">/"; 

1 个答案:

答案 0 :(得分:2)

我已经测试了你的正则表达式,如果删除

,它似乎有效
$content = htmlentities($contentCode);

只需使用:

$content = $contentCode;

注意:

  1. 请务必阅读You can't parse [X]HTML with regex
  2. regex的一些替代方案 DOMDocumentsimplehtmldom