• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

求个简单的PHP正则匹配。

php 搞代码 3年前 (2022-01-23) 12次浏览 已收录 0个评论
文章目录[隐藏]
 <ul class="main_con">                                        <li>                        <span class="kind">[动漫同人]</span>                        <span class="chap">                                                                宠物小精灵黑...                                                                                                                正文 第二十二...                                                                                                                        </span>                        <span class="number">                            2826/18/0                        </span>                        <span class="author">一鼎</span>                        <span class="time">13-08-29 14:55</span>                    </li>                                        <li>                        <span class="kind">[青春校园]</span>                        <span class="chap">                                                                那年雪花在飘...                                                                                                                正文 真诚璃茉...                                                                                                                        </span>                        <span class="number">                            202/5/0                        </span>                        <span class="author">蕾娜莎</span>                        <span class="time">13-08-29 14:55</span>                    </li>

以上代码中我只想要(.*)和这个格式一样的URL。这正则怎么写。

以下是我写的,
$html=file_get_contents($setting[‘book_url’]);
$k=’/

    ‘;
    $k.='(.*)(.*)<\/a>(.*)’;
    $k.='<\/ul>/isU’;
    preg_match_all($k,$html,$rs);
    没有匹配到地址

    回复讨论(解决方案)

    preg_match_all(‘#(.*?)<\/a>#i’,$html,$rs);

    那直接写就是了
    #(.*)#

     <ul class="main_con">                                        <li>                        <span class="kind">[动漫同人]</span>                        <span class="chap">                                                  <i>*本5文来源gaodai$ma#com搞$$代**码)网@</i><img>搞代码gaodaima</img>              宠物小精灵黑...                                                                                                                正文 第二十二...                                                                                                                        </span>                        <span class="number">                            2826/18/0                        </span>                        <span class="author">一鼎</span>                        <span class="time">13-08-29 14:55</span>                    </li>                                        <li>                        <span class="kind">[青春校园]</span>                        <span class="chap">                                                                那年雪花在飘...                                                                                                                正文 真诚璃茉...                                                                                                                        </span>                        <span class="number">                            202/5/0                        </span>                        <span class="author">蕾娜莎</span>                        <span class="time">13-08-29 14:55</span>                    </li>

    以上代码中我只想要(.*)和这个格式一样的URL。这正则怎么写。

    以下是我写的,
    $html=file_get_contents($setting[‘book_url’]);
    $k=’/

      ‘;
      $k.='(.*)(.*)<\/a>(.*)’;
      $k.='<\/ul>/isU’;
      preg_match_all($k,$html,$rs);
      没有匹配到地址
      那是当然啦你的正则表达式是‘/

        (.*)(.*)<\/a>(.*)<\/ul>/isU’

          之后的.*不匹配换行符,而html代码中

            后面有若干空格还有换行符
            要是你想获取class=”main_con”的ul里面的 的话建议你用jquery处理,它提供了多种选择器,类选择器,属性选择器…

            test.php
            <?php
            $str=<<<html

            • [动漫同人]

              宠物小精灵黑…

              正文 第二十二…



              2826/18/0

              一鼎
              13-08-29 14:55

            • [青春校园]

              那年雪花在飘…

              正文 真诚璃茉…



              202/5/0

              蕾娜莎
              13-08-29 14:55

            • html;

              $pattern=”/
              preg_match_all($pattern,$str,$matches);
              var_dump($matches[1]);
              ?>
              $matches[1]就是你要的url数组

              #(.*)#


              搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
              转载请注明原文链接:求个简单的PHP正则匹配。

              喜欢 (0)
              [搞代码]
              分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址