Новичок
Покинул форум
Сообщений всего: 17
Дата рег-ции: Дек. 2012
Помог: 0 раз(а)
|
Нужно найти в файле всё что находится в {t}{/t} и записать в лог. А также при записи текста, который находится в {t}{/t} нужно указать из какого файла это взято и с какой строки. Подскажите, пож), как лучше реализовать данную задачу. Недопиленный вариант:
PHP:
скопировать код в буфер обмена
// функция записи function log($filename, $mode, $data = false) { $file = fopen($filename, $mode); } // массив ключей для array_combine // массив значений для array_combine // регулярка $gettext_pattern = array( "~\{\"([^\"]+)\"\|_([^\}]*)\}~", // {"Text"|_} "~\{t\}([^\{]+)\{/t\}~" // {t}Text2{/t} ); // пробегаемся по списку файлов foreach($p as $k=>$v) { { //разбиваем файл на "номер строки => контент" foreach ($f as $num => $str) { //пробегаемся по регулярке foreach ( $gettext_pattern as $patt) { // если есть совпадения обрабатываем { // отдельно пишем номер строки для ключей array_combine $kArr[] = $num+1; // отдельно пишем найденый текст для значений array_combine /*$kArr = array('k1','k2'); $vArr = array('v1','v2');*/ } } } } } /* объединяем найденые ключи с текстом (и тут начинаются проблемы, тк текст бывает встречается на одной и той же строке, пример: 'стр1: <span>{"Тестовый"|_}</span>{"текст"|_}' - это будет засчитано как два значения на 1 строку) Дальше пока не решил как добавить имя файла*/ if( $resArr ) { }
Как быть? Подскажите, кто нить)
|