[PHP-users 19355]Re: 正規表現置換について
ISIGE, Akira
xia @ silvia.com
2003年 12月 16日 (火) 13:55:11 JST
いしげ です.
On 2003/12/16 13:38:24 JST,
Osamu Shigematsu <m5issige @ mr.hitachi-medical.co.jp> wrote:
> 基本的なことだと思うのですが、ちょっと効率の良い方法が思いつかないので、
> アドバイスをいただければと思います。
> [[title:utl]] という文字列を <a href="url">title</a> に置換したいと思い
> ます。
「効率」というのが「手数の多さ」なら,
<?php
$html = preg_replace_callback( '/\[\[(.+):(.+)\]\]/', 'makeLink', '[[title:url]]' );
function makeLink( $m ){
return '<a href="'. rawurlencode($match[2]). '">'. htmlspecialchars($match[1]). '</a>';
}
?>
とかでしょうか.
余計に見づらいし,遅そうですが(笑)
ところで \2 を rawurlencode に食わすと,
GET 引数の区切り & や ? も %xx にされちゃって,
面倒が起こりそうな場合がある気がします.
--
ISIGE, Akira
PHP-users メーリングリストの案内