2013-12-21 2 views
0

мне нужно изменить эту строку: count(id)содержания изменения снаружи и внутри скобки с preg_replace

к линии, как этого count(tableName. идентификатор )

я пытаюсь сделать это с матчем препрега и заменить так:

$a = "count(id)"; 
    $regex = "/\w{3,}+\W/"; 
    $dd = preg_match("/\(.*?\)/", $a, $matches); 
    $group = $matches[0]; 

    if (preg_match($regex, $a)) { 

    $c = preg_replace("$group", "(table.`$group`)", $a); 

    var_dump($c); 

    } 

вывод, который я получил: count((table. (id) )) его выводя дополнительные скобки. Я знаю проблему, но я не могу найти решение, потому что мое регулярное выражение не так хорошо.

ответ

1
$a = "count(id)"; 
$regex = "/\w{3,}+\W/"; 
$dd = preg_match("/\((.*?)\)/", $a, $matches); 

$group = $matches[1]; // <-- you'll get error if the above regex doesn't match! 

if (preg_match($regex, $a)) { 
    $c = preg_replace("/$group/", "table.$group", $a); 
} 
+0

благодарит за помощь! – viktorino

+0

сделал это для вас? –

+0

на самом деле я нахожу шаблон записи, но ваш же)) да спасибо. – viktorino

Смежные вопросы