저는 간단한 PHP 번역 클래스를 사용하고 있으며 번역 클래스가 구현되고 새 문자열이 구현 된 약 2000 개 이상의 PHP 파일이 있으므로 모든 번역 문자열이 포함 된 업데이트 된 텍스트 파일이 필요합니다.
각 PHP 파일에서 번역 된 모든 값을 가져 와서 반복되는 값없이 텍스트 파일에 저장해야합니다.
번역 클래스
<?php $translate->__('Calendar'); ?>
따라서 캘린더 를 txt 파일로 저장해야하며 모든 폴더의 모든 파일에 대해이 작업을 수행해야합니다.
$ translate-> __ ( ' 와 ') 사이의 모든 것은 저장되어야합니다.
아래 코드는 어떤 이유로 작동하지 않습니다.
$fn = $_SERVER['DOCUMENT_ROOT']."/apps/test/test2/calendar.php";
$handle = fopen($fn, 'r');
$valid = false;
$search = "\/\\$translate\\-\\>__\\(\\'(.*?)'\\)\/g";
while (($buffer = fgets($handle)) !== false) {
if(preg_match_all($search, $buffer, $m)) {
print $m[1];
} else {
}
}
fclose($handle);
이 패턴으로 문자열을 추출합니다.
/\$translate\-\>__\(\'(.*?)'\)/g
모든 match
ed 항목을 추출 하여 어디에 든 저장하십시오.
데모 및 세부 정보 : https://regex101.com/r/LzMyJY/1
$fn = $_SERVER['DOCUMENT_ROOT']."/apps/test/test2/calendar.php";
$handle = fopen($fn, 'r');
$valid = false;
$search = "/\\".'$'."translate\\-\\>__\\(\\'(.*?)'\\)/g";
while (($buffer = fgets($handle)) !== false) {
if(preg_match_all($search, $buffer, $m)) {
print $m[1];
} else {
}
}
fclose($handle);
참고 :
\
에 패턴을 넣는 경우 ".."
(모든 변화 \
로 \\
이 경우)'...'
변경되지 않습니다 \
와 함께 \\
!이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다