[PHP-users 19181]Re: preg_replaceについて

松本創 kamuna @ kamunagara.org
2003年 12月 2日 (火) 15:12:02 JST


ありがとうございます。
これが上手くいかない理由はわかるのですが、
こういったケースではいかがでしょう。
表示したいものは
23456789101112131415
です。
<?php

$tmps['title'] = '456';
$tmps['title2'] = '101112';
$str = '123<import value="title">789<import value="title2">131415';
$regex = '/<import value="([^<>]+)">/';
if (preg_match($regex, $str, $match)) {
        var_dump($match);
        if (isset($tmps[$match[1]])) {
            $str = preg_replace($regex, $tmps[$match[1]], $str);
            var_dump($str);
        }
}
else {
        echo "no match\n";
}

?>

>重松です。
>ソースから意図を汲めませんでしたので、期待する結果から推測してみました。
>
><?php
>
>$tmps['title'] = '456';
>$str = '123<import value="title">789';
>$regex = '/<import value="([^<>]+)">/';
>if (preg_match($regex, $str, $match)) {
>	var_dump($match);
>	if (isset($tmps[$match[1]])) {
>		$str = preg_replace($regex, $tmps[$match[1]], $str);
>		var_dump($str);
>	}
>}
>else {
>	echo "no match\n";
>}
>
>?>
>
>-- 
>Osamu Shigematsu <m5issige @ mr.hitachi-medical.co.jp>
>
>_______________________________________________
>PHP-users mailing list
>PHP-users @ php.gr.jp
>http://ns1.php.gr.jp/mailman/listinfo/php-users

------
松本創
http://www.kamunagara.org
kamuna @ kamunagara.org


PHP-users メーリングリストの案内