2010-11-24 2 views
1

나는 끔찍한 문제가있어. 내 문자열에는 {{SOME_WORDS}}과 같은 많은 구문이 있으며 $ lang [ 'some_word']에 대해 변경하고 싶습니다. 이런 이유로 나는 다음과 같은 것을 사용한다 :나는 preg_replace 명령문의 마지막 문자만을 가져옵니다. 도움이

$cache=preg_replace('/({{)+([A-Z_])+(}})/u','$2',$cache); 

그리고 SOME_WORDS "S"의 마지막 문자 만있다. 다음 문제는 preg_replace 두 번째 인수에 $ lang [strtolower ($ 2)]를 넣는 것입니다. 아니면 다른 해결책이있을 수 있습니까?

답변

1

괄호 안에 +을 넣어야합니다. 같은 :

$cache=preg_replace('/({{)+([A-Z_]+)(}})/u','$2',$cache);

+0

ок을,하지만 어떻게 preg_replace이다 번째 인수에 $ LANG [하여 strtolower ($ 2)] 넣어? – powermic

-1

이 시도 : 좋은

$cache = preg_replace("/\{\{(\w+)\}\}/e", "strtolower($1)", $cache); 
+0

그것은 소문자로 문자열을 변경하지만 여전히 $ lang [strtolower ($ 1)]을 (를) – powermic

관련 문제