Rumah >pembangunan bahagian belakang >tutorial php >正则表达式 - 一句php解析html页面的脚本问题
<code class="lang-php">preg_match_all('/<td width="20%" align="left">.*/u',$html,$match,PREG_OFFSET_CAPTURE); <p>主要是其中的正则表达式没看明白,开头的<code>/</code>和结尾的<code>/u</code>是代表其中的内容是unicode么?不需要用<code>\</code>转译这两个<code>/</code>么</p> <p>然后<code>PREG_OFFSET_CAPTURE</code>这个flag到底又什么用,看了文档还是没怎么明白,希望各位大大指教</p> <h2>回复内容:</h2> <pre class="brush:php;toolbar:false"><code class="lang-php">preg_match_all('/<td width="20%" align="left">.*/u',$html,$match,PREG_OFFSET_CAPTURE); <p>主要是其中的正则表达式没看明白,开头的<code>/</code>和结尾的<code>/u</code>是代表其中的内容是unicode么?不需要用<code>\</code>转译这两个<code>/</code>么</p> <p>然后<code>PREG_OFFSET_CAPTURE</code>这个flag到底又什么用,看了文档还是没怎么明白,希望各位大大指教</p> <p class="answer fmt" data-id="1020000000334059"> </p> <p>/ / 是表示中间内容是表达式。 u 是修饰符,定义这个模式字符串被认为是utf-8的。</p> <p>http://www.php.net/manual/zh/reference.pcre.pattern.modifiers.php</p> <p class="answer fmt" data-id="1020000000334114"> </p> <p>嗯,//标示正则表达式开始结束,u是修饰符,具体可见 http://www.php.net/manual/zh/reference.pcre.pattern.modifiers.php</p> <p>Flag结果排序方式,结合实际测试可以更清楚。</p> <p>PREG<em>PATTERN</em>ORDER 结果排序为$matches[0]保存完整的所有匹配, $matches[1] 保存第一个()的所有匹配,以此类推</p> <p>PREG<em>SET</em>ORDER 结果排序为$matches[0]包含第一次匹配得到的所有匹配(包含子组), $matches[1]是包含第二次匹配到的所有匹配(包含子组)的数组,以此类推。</p> </td></code>