>  기사  >  백엔드 개발  >  <tr><td>测试</td><tr>想替换为<LI>测试</LI>求PHP 正则替换,多谢

<tr><td>测试</td><tr>想替换为<LI>测试</LI>求PHP 正则替换,多谢

WBOY
WBOY원래의
2016-06-13 11:51:231061검색
测试 想替换为
  • 测试
  • 求PHP 正则替换,谢谢。
    如题:
    测试 想替换为
  • 测试
  • 求PHP 正则替换,谢谢。

    因为我的HTML代码如下:
    <br /><table width="96%"border="0" align="center" cellpadding="4" cellspacing="0"><br /><br />        <tr   onMouseOver="this.style.backgroundColor='#EAEAEA'; return true;" onMouseOut="this.style.backgroundColor='transparent';"><br />          <td><a href="news_detail.php?infoId=141" class="link">新闻一</a></td><br />          <td align="right" class="newstime">2014-03-12</td><br />        </tr><br /><br />        <tr   onMouseOver="this.style.backgroundColor='#EAEAEA'; return true;" onMouseOut="this.style.backgroundColor='transparent';"><br />          <td><a href="news_detail.php?infoId=140" class="link">新闻二</a></td><br />          <td align="right" class="newstime">2014-02-20</td><br />        </tr><br /></table><br /><br /><br />


    想替换成
    <br /><ul data-role="listview"  ><br />    <li><a href="#">新闻一 2014-03-12</a></li><br />    <li><a href="#">新闻二 2014-02-20</a></li><br /> <br /></ul><br />



    ------解决方案--------------------
    先匹配。再拼装结果。
    $s=<<< TXT<br /><br /><table width="96%"border="0" align="center" cellpadding="4" cellspacing="0"><br /><br />        <tr   onMouseOver="this.style.backgroundColor='#EAEAEA'; return true;" onMouseOut="this.style.backgroundColor='transparent';"><br />          <td><a href="news_detail.php?infoId=141" class="link">新闻一</a></td><br />          <td align="right" class="newstime">2014-03-12</td><br />        </tr><br /><br />        <tr   onMouseOver="this.style.backgroundColor='#EAEAEA'; return true;" onMouseOut="this.style.backgroundColor='transparent';"><br />          <td><a href="news_detail.php?infoId=140" class="link">新闻二</a></td><br />          <td align="right" class="newstime">2014-02-20</td><br />        </tr><br /></table><br />TXT;<br /> preg_match_all('#<tr[^>]+>\s*<td><a[^>]+>(.+?)</a></td>\s*<td[^>]+>(.+?)<#s',$s,$m);<br /><br />$html="<ul data-role=\"listview\"  >\n";<br />foreach($m[1] as $k=>$v) $html .= "<li><a href=\"#\">$v {$m[2][$k]}</a></li>\n";<br />$html .= '</ul>';<br />echo $html;

    ------解决方案--------------------
    用str_replace要好一点吧 
    성명:
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.