현재 작업하고있는 웹 사이트의 템플릿 시스템을 만들려고합니다. preg_replace를 사용하여 특정 태그로 둘러싸인 데이터를 처리하는 함수를 호출하려고합니다. 예를 들어, process ('date')는 오늘 날짜를 반환하고 $ 날짜 $와 같은 코드에 넣습니다. preg_replace를 사용하여 수정해야하는 문자열을 찾았지만 함수를 호출 할 수 없습니다. PHP는 함수가 대신 속성이라고 생각하는 것 같습니다. preg_replace가 속성으로 함수를 처리 중입니다.
이
내가 사용하고있는 코드입니다 :$view = preg_replace("/\$_([a-zA-Z0-9_]+)_\$/e", "$this->process('\\1')", $view);
입니다 오류가 나는 얻을 :
공지 사항 : 정의되지 않은 속성 : /location/ClassName.class.php에서 클래스 이름 : $ 과정 온라인 X
나는 이것을 충분히 설명하기를 희망한다. 프로세스로 속성을 표시하는 대신 preg_replace를 메서드로 실행하려면 어떻게해야합니까?
은'$ this'가 문자열을 바꿀 때 올바른 범위에 있습니까? – stillstanding
나는 이렇게 믿는다 ... 나는 $ this-> process ('date') 라인을 추가 할 수있다; preg_replace 이상에서 작동합니다. – Wige