Home >Backend Development >PHP Tutorial > file_get_contents第二波!正则匹配很欢乐解决思路

file_get_contents第二波!正则匹配很欢乐解决思路

WBOY
WBOYOriginal
2016-06-13 13:30:27844browse

file_get_contents第二波!正则匹配很欢乐
问题是这样的 file_get_contents 出来的内容是这样

.....

json

.....

ajax

....

php
/
mysql


我想得到的结果是

PHP code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
array("json","ajax","php+mysql");



求正则 正则实在是心头的一块隐痛.....

------解决方案--------------------
PHP code
$s = 
<a href="artist/001">json</a>

.....
<span class="singer" style="width: 95px;">
<a href="artist/002">ajax</a>
</span>
....
<span class="singer" style="width: 95px;">
<a href="artist/003">php</a>
<span>/</span>
<a href="artist/004">mysql</a>
</span>
TXT;

preg_match_all("/<span.>(.+)", $s, $r);
print_r($r[1]);
<br><font color="#e78608">------解决方案--------------------</font><br>
<dl class="code">PHP code<pre class="brush:php;toolbar:false">
 $s=
<a href="artist/001">json</a>

.....
<span class="singer" style="width: 95px;">
<a href="artist/002">ajax</a>
</span>
<span class="aa" style="width: 95px;">
<a href="artist/002">ajax</a>
</span>
....
<span class="singer" style="width: 95px;">
<a href="artist/003">php</a>
<span>/</span>
<a href="artist/004">mysql</a>
</span>
html;

 $s= str_replace('<span>/</span>','',$s);
preg_match_all('/<span class="singer">]*>(.*)/isU',$s,$m);
foreach($m[1] as $v){
    $v=preg_replace('/]+>/','',$v,-1,$count);
    if($count>2) $arr[]=join('+',preg_split("/[\r\n]+/",$v,-1,PREG_SPLIT_NO_EMPTY));
    else
              $arr[]=trim($v);    
}
print_r($arr); <div class="clear">
                 
              
              
        
            </div></span>
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn