проблема с php Preg_replace_callback - PullRequest
0 голосов
/ 09 июня 2010

Привет, у меня есть следующий код, но я не очень доволен reg exp, поскольку они слишком запутанные:

<?php
$r = '|\\*(.+)\\*|'; 
$w = '';
$s = 'hello world *copyMe* here'; 
function callbk($str){
    print_r($str);
    foreach($str as $k=>$v) {
        echo $v;
    }
}
$t = preg_replace_callback($r,'callbk',$s);

//output: Array ( [0] => *copyMe* [1] => copyMe ) *copyMe*copyMe


?>

У меня вопрос, почему есть "* copyMe *" и " copyMe "? я надеялся получить либо одно, либо другое, а не оба. любая помощь будет оценена.

1 Ответ

1 голос
/ 09 июня 2010

Поскольку вы используете выражение захвата ().Если вы опустите скобки, вы получите только *copyMe*.

...