У меня есть строка, подобная этой:
{{something1}} something2 {{something3}} something4 
  Как я могу сопоставить только «something1» с помощью функции preg_match() ? 
Я пытался:
 preg_match("/\{\{(.*)\}\}/si",$content,$matches); 
но это соответствовало слишком много, возвращаясь
 something1}} something2 {{something3 
  Я попробовал добавить \b к шаблону, но не получил то, что хочу этого. 
Не могли бы вы мне помочь?
  Использовать не жадный модификатор ?  : 
 preg_match("/\{\{(.*?)\}\}/si",$content,$matches); here --^ 
Попробуй это:
 preg_match('|{{([^}]+)}}|si', $content, $matches); echo $matches[1]; 
полный ответ – если наш $ var:
 STARTT FIRST KKK SECOND KKK 
1) В случае использования:
 $var = preg_replace('/STARTT(.*)KKK/', 'REPLACED-STRING', $var); 
он изменит все, начиная с STARTT и заканчивая KKK, и Result будет:
 REPLACED-STRING 
2) В случае использования:
 $var = preg_replace('/STARTT(.*?)KKK/', 'REPLACED-STRING', $var); 
Результат будет:
 REPLACED-STRING SECOND KKK