PHP正则表达式的匹配
今天主要的任务就是对新闻、研究报告等咨询的最近上传时间和本地的时间进行对比,比较一下是否超过1个小时,然后我对此进行了php的编程
刚开始,我本来以为主页中就有所需要处理的文字的信息,但是我找了好久就是没有发现所要查找的文字的信息,刚开始的时候我并没有发现然后一直在那傻傻地用正则表达式处理html的源代码,后来我发现原来是我自己的问题,原来html源代码中并不包含新闻的代码。然后我就用chrome对页面进行查找,终于找到了新闻页面来源的url。然后对url进行处理。
在对url进行处理的时候,我就直接用正则表达式处理,可是在处理的时候出现了各种各样的问题。首先时间字符串的长度随着时间的变化可能会变得不一样,所以一开始我并不知道怎么去处理,然后尝试了好久,后来,我尝试用.*的方式对文字进行匹配,可是因为在php中默认采用的是贪婪匹配,所以一匹配就是匹配所有的东西,然后我就对此进行搜索,查找解决的方法,找了很久都不能找到。
后来,我问了一下我的一个同学,他和我说了正则表达式默认是采用贪婪匹配的方式,而可以改变模式为非贪婪匹配就可以解决这个问题。
打个比方说,有一段html:<div>asdef<em>ccda</em>aae<br>sdc</div><div>asdef<em>dfge</em><br>sdc</div>。我想通过preg_match_all利用规则<div>\s*<br>将<div>asdef<em>ccda</em>aae<br>匹配出来,但是PHP好像并没有非贪婪模式的选项,导致匹配出来的是内容是<div>asdef<em>ccda</em>aae<br>sdc</div> <div>asdef<em>dfge</em>,因为贪婪模式匹配到了后面的<br>了 <pre name="code" class="sycode">/正则/U 参数U,用书上的原话是,不再贪婪
然后我终于解决了问题
<?php /*判断最近更新时间是否大于一个小时函数*/function limittimeindex($url){ $info=file_get_contents($url);/*获取url的页面*/ preg_match('/date.*\",/U',substr($info,0),$m,PREG_OFFSET_CAPTURE);/*正则匹配字符串*/ $time=substr($m[0][0],7,-2);/*获取最新的网页更新时间*/ $systime=date("Y-m-d H:i:s");/*获取系统时间*/ if(strtotime($systime)-strtotime($time)>=3600){/*比较系统时间是否大于最近更新时间1小时,如果是则错误,如果不是则正确*/ echo "this is false<br>"; } else{ echo "this is true<br>"; } echo $time,"<br>"; echo $systime;}echo "
http://zhidao.baidu.com/question/110658951.html?qq-pf-to=pcqq.c2c

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Pembalakan PHP adalah penting untuk memantau dan menyahpepijat aplikasi web, serta menangkap peristiwa kritikal, kesilapan, dan tingkah laku runtime. Ia memberikan pandangan yang berharga dalam prestasi sistem, membantu mengenal pasti isu -isu, dan menyokong penyelesaian masalah yang lebih cepat

Laravel memudahkan mengendalikan data sesi sementara menggunakan kaedah flash intuitifnya. Ini sesuai untuk memaparkan mesej ringkas, makluman, atau pemberitahuan dalam permohonan anda. Data hanya berterusan untuk permintaan seterusnya secara lalai: $ permintaan-

Pelanjutan URL Pelanggan PHP (CURL) adalah alat yang berkuasa untuk pemaju, membolehkan interaksi lancar dengan pelayan jauh dan API rehat. Dengan memanfaatkan libcurl, perpustakaan pemindahan fail multi-protokol yang dihormati, php curl memudahkan execu yang cekap

Laravel menyediakan sintaks simulasi respons HTTP ringkas, memudahkan ujian interaksi HTTP. Pendekatan ini dengan ketara mengurangkan redundansi kod semasa membuat simulasi ujian anda lebih intuitif. Pelaksanaan asas menyediakan pelbagai jenis pintasan jenis tindak balas: Gunakan Illuminate \ Support \ Facades \ http; Http :: palsu ([ 'Google.com' => 'Hello World', 'github.com' => ['foo' => 'bar'], 'forge.laravel.com' =>

Adakah anda ingin memberikan penyelesaian segera, segera kepada masalah yang paling mendesak pelanggan anda? Sembang langsung membolehkan anda mempunyai perbualan masa nyata dengan pelanggan dan menyelesaikan masalah mereka dengan serta-merta. Ia membolehkan anda memberikan perkhidmatan yang lebih pantas kepada adat anda

Alipay Php ...

Artikel membincangkan pengikatan statik lewat (LSB) dalam PHP, yang diperkenalkan dalam Php 5.3, yang membolehkan resolusi runtime kaedah statik memerlukan lebih banyak warisan yang fleksibel. Isu: LSB vs polimorfisme tradisional; Aplikasi Praktikal LSB dan Potensi Perfo

Artikel ini membincangkan menambah fungsi khusus kepada kerangka kerja, memberi tumpuan kepada pemahaman seni bina, mengenal pasti titik lanjutan, dan amalan terbaik untuk integrasi dan debugging.
