<tr><td>測試</td><tr>想替換為<LI>測試</LI>求PHP 正則替換,謝謝。

來源:互聯網
上載者:User
如題:
測試想替換為
  • 測試
  • 求PHP 正則替換,謝謝。

    因為我的HTML代碼如下:
     
    新聞一 2014-03-12
    新聞二 2014-02-20


    想替換成
     
    • 新聞一 2014-03-12
    • 新聞二 2014-02-20



    回複討論(解決方案)

    先匹配。再拼裝結果。

    $s=<<< TXT
     
    新聞一 2014-03-12
    新聞二 2014-02-20
    TXT; preg_match_all('#]+>\s*]+>(.+?)\s*]+>(.+?)<#s',$s,$m);$html="
      \n";foreach($m[1] as $k=>$v) $html .= "
    • $v {$m[2][$k]}
    • \n";$html .= '
    ';echo $html;

    用str_replace要好一點吧

    先匹配。再拼裝結果。

    $s=<<< TXT
     
    新聞一 2014-03-12
    新聞二 2014-02-20
    TXT; preg_match_all('#]+>\s*]+>(.+?)\s*]+>(.+?)<#s',$s,$m);$html="
      \n";foreach($m[1] as $k=>$v) $html .= "
    • $v {$m[2][$k]}
    • \n";$html .= '
    ';echo $html;


    非常感謝版主的回答
    測試了一下,果然是有效果的。

    不過我還想 超連結那一段能夠有具體地址,形如:
     
    • 新聞一 2014-03-12
    • 新聞二 2014-02-20


    • 版主高手啊,正則 還有 FOREACH能不能大概給個解釋,謝謝啊。

      高手,分不夠還可以再加~~~~
      謝謝。

       preg_match_all('#]+>\s*]+>(.+?)\s*]+>(.+?)<#s',$s,$m);$html="
         
        \n";foreach($m[1] as $k=>$v) $html .= "
      • {$m[2][$k]} {$m[3][$k]}
      • \n";$html .= '
      ';echo $html;

      版主非常強大啊~~~
      贊一個~
      結貼,哈。

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.