如題:
測試想替換為
測試求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;
版主非常強大啊~~~
贊一個~
結貼,哈。