2012-03-22 2 views
2

PHP 응용 프로그램 내에서 레이블로 대체해야 할 하드 코딩 된 레이블 텍스트를 감지하는 방법이 있습니까? 나는 PHP 파일뿐만 아니라 자바 스크립트, XML 파일, SMARTY/TWIG 템플릿에 대해서도 이야기하고있다. 다국어 응용 프로그램 내에 표준 절차가 있습니까?PHP 응용 프로그램에서 하드 코딩 된 레이블 텍스트 감지

+1

텍스트는 텍스트입니다. 'str_replace '할 수도 있고,'preg_replace' 할 수도 있고, 다른 비슷한 함수를 사용하여 작업 할 수도 있습니다. 예를 들어 내 답변 [here] (http://stackoverflow.com/questions/9783918/using-php-code-in-html-in-php/9784039#9784039)을 참조하십시오. – Jon

+1

텍스트 (도큐 블록 및 인라인 주석 제외)를 인식하고 모든 종류의 번역으로 처리해야하는 잠재적 텍스트를 보여주는 일종의 'phpmd 스타일'규칙이있을 수 있습니다. – mayrs

답변

1

PHP의 경우 token_get_all()을 사용하여 템플릿 파일을 반복 할 수 있습니다.

T_STRING 토큰을보고 자리 표시 자 형식이 같은지 확인하십시오. 예 : "모두 대문자"또는 그와 비슷한 것.


는 XML의 경우는 노드 반복 및 텍스트 내용 만 자리를 기대할 수있는 곳 주위를 비행하는 경우 확인, 거의 같은 거래입니다.

0

Google 검색 엔진은 검색 속도를 높이기 위해 어휘 구조를 인덱싱하여 큰 코드베이스에서 효율적으로 검색 할 수있는 도구입니다. 따라서 grep보다 빠르며 언어 어휘의 관점에서 훨씬 더 미묘한 쿼리를 허용합니다.

쿼리는 다양한 제약이있는 일련의 어휘의 형태로되어 있습니다.

I=*foo* '.' S=*hello 

의미 : 하나는 쿼리를 작성할 수 있습니다. "끝에 문자 '안녕하세요'를 갖는 문자 문자열 다음에 연결 연산자 다음에 '갑'을 포함하는 식별자를 찾을 수를 PHP를 들어, 일반 어휘 S는 모든 문자열 유형 리터럴 (squoted 문자열, dquoted 문자열, heredoc 등)을 나타내며 원하는 경우 구체적으로 검색 할 수 있습니다. 검색 엔진은 어휘 구문을 이해하기 때문에 중간에있는 공백, 줄 바꿈 (주석이 있으면 구속 토큰을 찾을 수 있습니다.)

당신은 제약 조건을 넣을 필요가 없습니다 :

I=*foo* '.' S 

은 식별자 문자열 조합을 찾습니다.

자체

S 

직접의 OP의 질문에 답 쿼리 "리터럴 문자열이 어디를?" 어떤 종류의.

관련 문제