如题:
<table width="96%"border="0" align="center" cellpadding="4" cellspacing="0"> <tr onMouseOver="this.style.backgroundColor='#EAEAEA'; return true;" onMouseOut="this.style.backgroundColor='transparent';"> <td><a href="news_detail.php?infoId=141" class="link">新闻一</a></td> <td align="right" class="newstime">2014-03-12</td> </tr> <tr onMouseOver="this.style.backgroundColor='#EAEAEA'; return true;" onMouseOut="this.style.backgroundColor='transparent';"> <td><a href="news_detail.php?infoId=140" class="link">新闻二</a></td> <td align="right" class="newstime">2014-02-20</td> </tr></table>
<ul data-role="listview" > <li><a href="#">新闻一 2014-03-12</a></li> <li><a href="#">新闻二 2014-02-20</a></li> </ul>
先匹配。再拼装结果。
$s=<<< TXT<table width="96%"border="0" align="center" cellpadding="4" cellspacing="0"> <tr onMouseOver="this.style.backgroundColor='#EAEAEA'; return true;" onMouseOut="this.style.backgroundColor='transparent';"> <td><a href="news_detail.php?infoId=141" class="link">新闻一</a></td> <td align="right" class="newstime">2014-03-12</td> </tr> <tr onMouseOver="this.style.backgroundColor='#EAEAEA'; return true;" onMouseOut="this.style.backgroundColor='transparent';"> <td><a href="news_detail.php?infoId=140" class="link">新闻二</a></td> <td align="right" class="newstime">2014-02-20</td> </tr></table>TXT; preg_match_all('#]+>\s* ]+>(.+?) \s*]+>(.+?)<#s',$s,$m);$html=" \n";foreach($m[1] as $k=>$v) $html .= "
';echo $html;- $v {$m[2][$k]}
\n";$html .= '用str_replace要好一点吧
先匹配。再拼装结果。
$s=<<< TXT<table width="96%"border="0" align="center" cellpadding="4" cellspacing="0"> <tr onMouseOver="this.style.backgroundColor='#EAEAEA'; return true;" onMouseOut="this.style.backgroundColor='transparent';"> <td><a href="news_detail.php?infoId=141" class="link">新闻一</a></td> <td align="right" class="newstime">2014-03-12</td> </tr> <tr onMouseOver="this.style.backgroundColor='#EAEAEA'; return true;" onMouseOut="this.style.backgroundColor='transparent';"> <td><a href="news_detail.php?infoId=140" class="link">新闻二</a></td> <td align="right" class="newstime">2014-02-20</td> </tr></table>TXT; preg_match_all('#]+>\s* ]+>(.+?) \s*]+>(.+?)<#s',$s,$m);$html=" \n";foreach($m[1] as $k=>$v) $html .= "
';echo $html;- $v {$m[2][$k]}
\n";$html .= '
非常感谢版主的回答
测试了一下,果然是有效果的。
不过我还想 超链接那一段能够有具体地址,形如:
<ul data-role="listview" > <li><a href="news_detail.php?infoId=141">新闻一 2014-03-12</a></li> <li><a href="news_detail.php?infoId=140">新闻二 2014-02-20</a></li> </ul
版主高手啊,正则 还有 FOREACH能不能大概给个解释,谢谢啊。
高手,分不够还可以再加~~~~
谢谢。
preg_match_all('#<tr[^>]+>\s*<td><a\s*href="(.+?)"[^>]+>(.+?)</a></td>\s*<td[^>]+>(.+?)<#s',$s,$m);$html="<ul data-role=\"listview\" >\n";foreach($m[1] as $k=>$v) $html .= "<li><a href=\"$v\">{$m[2][$k]} {$m[3][$k]}</a></li>\n";$html .= '</ul>';echo $html;版主非常强大啊~~~
赞一个~
结贴,哈。陳述:本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn