php 正则获取指定内容之间内容

2024-11-19 14:43:41
推荐回答(3个)
回答1:

主要是你把变量写错了,下面是修改的代码。


$str='

  • 数量:1899
  • ';
    if(preg_match('/([^<]*)<\/em>件<\/li>/i', $str, $matches)) {
    print_r($matches);
    echo '我要截取的内容:' . $matches[1] . "\n";
    }

    ?>

  • 回答2:

    错误很明显,这一行

    if(preg_match_all('/([^<]*)<\/em>件<\/li>/i', $data, $matches)) {

    里面的 $data 哪来的???为什么不是 $str ??? 而变量 $str 根本没有参与运算。所以你得到是一片空白。

    回答3:


    $str='

  • 数量:1899
  • ';
    if(preg_match_all('/([^<]*)<\/em>件<\/li>/i', $str, $matches)) {
    print_r($matches);
    echo '我要截取的内容:' . $matches[1][0] . "\n";
    }

    这样就正确了