Работа с текстовым файлом, парсинг

Статус
В этой теме нельзя размещать новые ответы.

Jerry

тот самый Учиха
Регистрация
16 Апр 2006
Сообщения
1.226
Реакции
514
Доброго времени суток.
Имеется вот такой массив строк:
*****
#210: ^CВАП^AДомодедово^D1994
#920: PAZK
#20: ^bЭ94-12781
#102: RU
#101: rus
#300: Книга - "перевертыш"
#999: 0000001
#700: ^AПерельман^BЯ.И.
#702: ^4340 Ред.^AПавлов^BЯ.О.
#908: П27
#900: ^B05^C11
#903: 15.20/П27-025420
#10: ^D200
#621: 15.20
#690: ^L1.12
#215: ^A256^Cил
#907: ^CКР^A20030303^BКОИ
#907: ^C^A20060124^BСНД
#907: ^CПРФ^A20060601^BДСМ
#907: ^C^A20060601^BДСМ
#907: ^C^A20070109^B
#907: ^C^A20070207^B
#907: ^A20071108^BОЛН^C
#907: ^A20071226^BОЛН^C
#907: ^A20071229^BОЛН^C
#907: ^CКТ^A20071229^BКалинина О.П.
#907: ^A20080102^BОЛН^C
#907: ^CКТ^A20080102^BКалинина О.П.
#200: ^U2^AЗнаете ли вы физику^Fред. Я. О. Павлов
#922: ^CИнтересное рядом^FПерельман С.Я.^GС. Я. Перельман
#922: ^CЗанимательная астрономия^Uда/3
#922: ^CНеобыкновенные небесные явления^FПерельман Я.И.^GЯ. И. Перельман
#922: ^CЗанимательная механика^FПерельман В.Я.^GВ. Я. Перельман
#481: ^XПерельман В.Я.^CЗанимательная геометрия^GДетгиз^DМ.^H1989^436^FВ. Я. Перельман
#905: ^I1^J1^L1^M1^F2^21
#692: ^B2005/2006^CO^D5^E4^F1.25^Z1.25^G20060124
#692: ^B2007/2008^CO^AФКТИ^D28^E4^F7.00^G20080108
#692: ^B2007/2008^CO^AЛИНС^D40^G20080108
#692: ^B2007/2008^CO^AЗ/О^D50^E4^F12.50^G20080108
#692: ^B2007/2008^CO^D5^E13^M0.38^G20080108
#692: ^B2007/2008^CO^D123^E13^N9.46^G20080108
#692: ^B2007/2008^CO^D73^E9^Z8.11^G20080108
#691: ^! 1^IАКТ^DАктинометрия^SОПД^BФЭиОЭП^KУМО^AФКТИ^Vспц^Oд/о^N550100^F1^WАКТ/4^GОсн^0ФКТИ550100спцд/о-S1
#691: ^! 1^IАКТ^DАктинометрия^SОПД^BФЭиОЭП^KУМО^AФЭ^VСПЦ^OВ/О^C190200^F1^WАКТ/6^GОсн^0ФЭ190200СПЦВ/О-S1
#691: ^! 1^WМО/2^DМатематика^SЕН^BМ^AЛИНС^KФК^Vспц^F1^IМО^N510500^Oз/о^GОсн^0ЛИНС510500спцз/о-S1
#691: ^! 1^WМО1^DМатематика^SЕН^BМ^AФКТИ^KФК^Vспц^F1^IМО^N550100^Oд/о^GОсн^0ФКТИ550100спцд/о-S1
#691: ^! 2^IАКТ^DАктинометрия^SОПД^BФЭиОЭП^KУМО^AФЭ^VСПЦ^OВ/О^C190200^F2^WАКТ/6^GОсн^9ФЭ190200СПЦВ/О-S2
#691: ^! 2^IАКТ^DАктинометрия^SОПД^BФЭиОЭП^KУМО^AЭК^Vспц^Oз/о^C060500^F2^WАКТ/10^GОсн^9ЭК060500спцз/о-S2
#691: ^! 2^WМО1^DМатематика^SЕН^BМ^AФКТИ^KФК^Vспц^F2^IМО^N550100^Oд/о^GОсн^9ФКТИ550100спцд/о-S2
#691: ^! 3^IАКТ^DАктинометрия^SОПД^BФЭиОЭП^KУМО^AЭК^Vспц^Oз/о^C060500^F3^WАКТ/9^GОсн^0ЭК060500спцз/о-S3
#691: ^! 3^WМО/2^DМатематика^SЕН^BМ^AЛИНС^KФК^Vспц^F3^IМО^N510500^Oз/о^GОсн^0ЛИНС510500спцз/о-S3
#691: ^! 4^IАКТ^DАктинометрия^SОПД^BФЭиОЭП^KУМО^AЛИНС^Vспц^Oд/о^C291200^F4^WАКТ/8^GОсн^9ЛИНС291200спцд/о-S4
#691: ^! 5^WМО/2^DМатематика^SЕН^BМ^AЛИНС^KФК^Vспц^F5^IМО^N510500^Oз/о^GОсн^0ЛИНС510500спцз/о-S5
#691: ^! 6^WМО1^DМатематика^SЕН^BМ^AФКТИ^KФК^Vспц^F6^IМО^N550100^Oд/о^GОсн^9ФКТИ550100спцд/о-S6
#907: ^A20080108^BОЛН^C
#910: ^A0^B44^C19940530^DХР^U1996/25
#910: ^A0^B45^C19940530^DСФ^U1996/25
#910: ^A0^B46^C19940530^DФО-17^U1996/25
#910: ^A0^B47^C19940530^DФО-18^U1996/25
#910: ^A0^B48^C19940530^DФО-19^U1996/25
#910: ^AU^BФКТИ-2^C20071226^DДФ^128^TФКТИ
#910: ^AU^BЛИНС-2^C20071226^DДФ^140^TЛИНС
#910: ^AU^B21^C20071229^DЖГ^150^Tз/о
*****
#606: ^AСтроительно-монтажные организации^BУчет и отчетность
#215: ^A560
#20: ^bС93-1374
#101: rus
#920: PAZK
#900: ^B05^Cj
#675: 657.1:69
#964: 67.01.75
#999: 0000001
#102: BY
#908: Д75
#903: 657.1:69/Д75-117763
#320: Библиогр.:с.552. -Предм.указ.:с.553-555
#10: ^A5-339-00933-5^D12
#940: ^A6^B2223^C19970924^DХР^E1500^VA3 25.01.2000^WN2^MСПР
#690: ^L1. 6. 2
#210: ^CВысш.шк.^AМинск^D1993
#700: ^AДробышевский^BН.П.
#702: ^4340 ред.^AДробышевский^BН.П.
#907: ^A20011109^BДСМ
#907: ^CКР^A20030303^BКОИ
#907: ^C^A20060124^BСНД
#907: ^CПРФ^A20060601^BДСМ
#907: ^C^A20060601^BДСМ
#907: ^C^A20070109^B
#907: ^C^A20070207^B
#907: ^A20071108^BОЛН^C
#907: ^A20071226^BОЛН^C
#907: ^A20080102^BОЛН^C
#907: ^CКТ^A20080102^BКалинина О.П.
#701: ^AЕрмолинский^B В.Б.^U2
#701: ^AБорисевский^BП.Е.
#692: ^B2006/2007^CV^D2^E12^F0.17^Z0.17^G20071108
#692: ^B2004/2005^CV^D2^E6^F0.33^Z0.33^G20051121
#692: ^B2005/2006^CO^D2^E10^F0.20^Z0.33^G20060124
#692: ^B2004/2005^CO^D2^E6^F0.33^Z0.33^G20050605
#692: ^B2007/2008^CO^AФКТИ^D50^E6^F8.33^G20080108
#692: ^B2007/2008^CO^AАГ^D120^E7^F17.14^G20080108
#692: ^B2007/2008^CO^AЭК^D80^E4^F20.00^G20080108
#692: ^B2007/2008^CO^D2^E17^M0.12^G20080108
#692: ^B2007/2008^CO^D252^E17^N14.82^G20080108
#692: ^B2007/2008^CO^D252^E13^Z19.38^G20080108
#691: ^! 1^IАКТ^DАктинометрия^SОПД^BФЭиОЭП^KУМО^AАГ^Oд/о^C310400^F1^WАКТ/1^GОсн^0АГ310400д/о-S1
#691: ^! 1^WИнф1/1^DИнформатика ч.1^IИнф1^AФКТИ^N550200^BБМЭиОС^SЕН^KФК^Vбкл^Oд/о^F1^0ФКТИ550200бклд/о-S1
#691: ^! 2^IАКТ^DАктинометрия^SОПД^BФЭиОЭП^KУМО^AАГ^Oд/о^C310400^F2^WАКТ/1^GОсн^9АГ310400д/о-S2
#691: ^! 2^WИнф1/1^DИнформатика ч.1^IИнф1^AФКТИ^N550200^BБМЭиОС^SЕН^KФК^Vбкл^Oд/о^F2^9ФКТИ550200бклд/о-S2
#691: ^! 2^WОпЭлС/3^DОптико-электронные системы^IОпЭлС^AФКТИ^N550100^BФЭиОЭП^SСД^KУМО^Vспц^Oз/о^F2^9ФКТИ550100спцз/о-S2
#691: ^! 2^WСД.133/1^DАктуальные проблемы бухгалтерского учета^SСД.^BБУФ^AЭК^Vспц^F2^IСД.133^C060500^Oд/о^GОсн^9ЭК060500спцд/о-S2
#691: ^! 2^WСД.133/2^DАктуальные проблемы бухгалтерского учета^SСД.^BБУФ^AЭК^Vспц^F2^IСД.133^C060500^Oз/о^GОсн^9ЭК060500спцз/о-S2
#691: ^! 2^WЭк1/1^DЭкономика^IЭк1^AФКТИ^N550200^BЭТ^SГСЭ^KФК^Vбкл^Oд/о^F2^9ФКТИ550200бклд/о-S2
#691: ^! 3^WСД.133/1^DАктуальные проблемы бухгалтерского учета^SСД.^BБУФ^AЭК^Vспц^F3^IСД.133^C060500^Oд/о^GОсн^0ЭК060500спцд/о-S3
#691: ^! 3^WСД.133/2^DАктуальные проблемы бухгалтерского учета^SСД.^BБУФ^AЭК^Vспц^F3^IСД.133^C060500^Oз/о^GОсн^0ЭК060500спцз/о-S3
#691: ^! 4^WСД.133/1^DАктуальные проблемы бухгалтерского учета^SСД.^BБУФ^AЭК^Vспц^F4^IСД.133^C060500^Oд/о^GОсн^9ЭК060500спцд/о-S4
#691: ^! 4^WСД.133/2^DАктуальные проблемы бухгалтерского учета^SСД.^BБУФ^AЭК^Vспц^F4^IСД.133^C060500^Oз/о^GОсн^9ЭК060500спцз/о-S4
#907: ^A20080108^BОЛН^C
#941: ^A0^B2223^C19970924^DСПР^U1996/28^E1500
#907: ^C^A20080122^B
#200: ^AБухгалтерский учет в строительстве^EУчебник для студентов вузов по спец. "Бухгалтерский учет, контроль и анализ хоз.деятельности"^FН. П. Дробышевский, В. Б. Ермолинский, П. Е. Борисевский ; ред. Н. П. Дробышевский
#910: ^A0^BС93-1375^C19931029^DКДИ^E1000^U1996/28
#910: ^A6^B2223^C19970924^DХР^E1500^VA3 25.01.2000^WN2^MСПР
#910: ^AU^BФКТИ-3^C20071226^150^TФКТИ
#910: ^AU^BАГ-1^C20071226^1120^TАГ
#910: ^AU^BЭК-1^C20071226^180^TЭК
#910: ^A0^B2223^C20071207^DСПР^E5527.80^U1996/28
#905: ^C1^F2^21
*****
Мне нужно: получать *****, как сигнал о новой книге;
получать цифровой код после решётки;
получать текст после двоеточия и пробела.
На входе текстовый файл размером 5мб. Требуется распарсить его полностью, читая каждую строчку, ибо когда код повторяется то это новый экземпляр, и мне нужно шаманить со штрих кодом.

Знаю что это реализовывается на preg_match, однако не знаю как его использовать. Буду благодарен за решение проблемы, и если подкините русской понятной документации на решение таких проблем в дальнейшем.
 
Cам regexp изучил за день прочитав Для просмотра ссылки Войди или Зарегистрируйся и Для просмотра ссылки Войди или Зарегистрируйся. После изучения этих статей - практика и только практика, для которой использовал Для просмотра ссылки Войди или Зарегистрируйся, вместе с ключем брал Для просмотра ссылки Войди или Зарегистрируйся.
 
напр. для каждой строчки - /^#(\d+:( (.*)$/
где (\d+) - число 1+ цифр, (.*) - любые символы, скобки - границы subpattern, остальное - ограничивающие символы

при исп. в ф-и:
PHP:
preg_match('/^#(\d+): (.*)$/',$str,$res);
результатом будет - $res[1](цифровой код) и $res[2](текст после двоеточия и пробела)

пример кода (разбивает на книги, форматирует строчки, и записывает кажд. книгу в отд. файл)
PHP:
<?php
$file=file_get_contents('file.txt');
$arr=explode('*****',$file); $arr = array_diff($arr,array('')); # разбиваем на массив по разделителю (*****) и удаляем пустые элементы
foreach ($arr as $key=>$list): # цикл - обработка каждой книги
$s_arr=explode("\n",$list); # разбиваем книгу на массив строк

foreach ($s_arr as $str) { # обработка каждой строчки
preg_match('/^#(\d+): (.*)$/',$str,$res);
$res_arr[] = $res[1].' '.$res[2]; # форматирование строчки
}
file_put_contents('book'.$key.'.txt',trim(join('',$res_arr))); unset($res_arr); # запись книги
endforeach;
?>
 
Регексы

Всё круто, всё работает. И статьи очень полезные, сейчас вот модифицирую ту информацию которая получилась, и никак не могу сделать ФИО автора.
На входе: "^AПехливанова^BК.И."
Мой вариант регекса:
Код:
preg_match("/[^\WA-Z][А-Яа-я]*[^\WB][А-Я]*/", $res[2], $seven);
Получаю: "Пехливанова"

Что я делаю не так?
 
Всё круто, всё работает. И статьи очень полезные, сейчас вот модифицирую ту информацию которая получилась, и никак не могу сделать ФИО автора.
На входе: "^AПехливанова^BК.И."
Мой вариант регекса:
Код:
preg_match("/[^\WA-Z][А-Яа-я]*[^\WB][А-Я]*/", $res[2], $seven);
Получаю: "Пехливанова"

Что я делаю не так?

Так (через два элемента массива) не годится?
PHP:
$s = '^AПехливанова^BК.И.';
$p = '/\^[A-Z]([А-Я][А-Яа-я]+)\^[A-Z]([А-Я]\.[А-Я]\.)/';
preg_match($p, $s, $r);
echo var_dump($r);
HTML:
array
  0 => string '^AПехливанова^BК.И.' (length=19)
  1 => string 'Пехливанова' (length=11)
  2 => string 'К.И.' (length=4)
 
  • Заблокирован
  • #6
Cам regexp изучил за день прочитав Для просмотра ссылки Войди или Зарегистрируйся и Для просмотра ссылки Войди или Зарегистрируйся. После изучения этих статей - практика и только практика, для которой использовал Для просмотра ссылки Войди или Зарегистрируйся, вместе с ключем брал Для просмотра ссылки Войди или Зарегистрируйся.
Мне вот эта нравится:
 
Есть:
PHP:
    $file=file_get_contents('data.txt');
    $arr=explode('*****',$file); $arr = array_diff($arr,array('')); # разбиваем на массив по разделителю (*****) и удаляем пустые элементы
    foreach ($arr as $key=>$list): # цикл - обработка каждой книги
    $s_arr=explode("\n",$list); # разбиваем книгу на массив строк

    foreach ($s_arr as $str) { # обработка каждой строчки
    preg_match('/^#(\d+): (.*)$/',$str,$res);
     if ($res[1]=='700') {
        preg_match("/[^\W0-9A-Z][А-Яа-яё]*[^\WB][А-Я]/", $res[2], $seven);
        $author = $seven[0]; }
    if ($res[1]=='200') {
        preg_match("/[^\WA-Z]{2}[а-яА-Я\s-ё,A-Za-z]*[^\WE\s][A-Za-zА-Яа-я\.ё\s\w,]*/", $res[2], $bgg); #работает
        $title = $bgg[0];
    }

    if ($res[1] == '461' and strlen($title)==0) {
        preg_match("/[^\WA-Z]{2}[а-яА-Я\s-ё,A-Za-z]*[^\WE\s][A-Za-zА-Яа-я\.ё\s\w,]*/", $res[2], $bgg); #работает
        $title = $bgg[0];
    }
    
    if ($res[1]=='910') {
// Когда количество наклееных штрихкодов на книгах станет больше 99999 следует исправить эту строчку
        preg_match("/[H][0]{3}[0-9]{5}/", $res[2], $ololo);
        $code = $ololo[0]; 
        $shcode=substr($code, 1, strlen($code));
        if (strlen($code)>0) {  echo '<b>'.$author.'</b> '.$title.' '.$shcode.'<br>'; 
    //    $authori = iconv("Windows-1251", "UTF-8", $author); 
    //    $titlei = iconv("Windows-1251", "UTF-8", $title); 

    //    db_query("INSERT INTO {books} (author,shcode,title) VALUES ('%s','%s','%s')",$author, $shcode, $title);
        
        
        }    

    
    }

}
endforeach;
Всё это хорошо когда у тебя сайт на windows-1251. После переезда на utf8 перестало работать всё. Нужна помощь.
Файл с базой в аттачах.
Требуется получить внятные данные из полей 200, 700, 461, и 910 после вхождения "^H".
 

Вложения

  • data.txt
    5,1 KB · Просмотры: 5
Есть:
PHP:
    $file=file_get_contents('data.txt');
    $arr=explode('*****',$file); $arr = array_diff($arr,array('')); # разбиваем на массив по разделителю (*****) и удаляем пустые элементы
    foreach ($arr as $key=>$list): # цикл - обработка каждой книги
    $s_arr=explode("\n",$list); # разбиваем книгу на массив строк
    foreach ($s_arr as $str) { # обработка каждой строчки
    preg_match('/^#(\d+): (.*)$/',$str,$res);
     if ($res[1]=='700') {
        preg_match("/[^\W0-9A-Z][А-Яа-яё]*[^\WB][А-Я]/", $res[2], $seven);
        $author = $seven[0]; }
    if ($res[1]=='200') {
        preg_match("/[^\WA-Z]{2}[а-яА-Я\s-ё,A-Za-z]*[^\WE\s][A-Za-zА-Яа-я\.ё\s\w,]*/", $res[2], $bgg); #работает
        $title = $bgg[0];
    }
    if ($res[1] == '461' and strlen($title)==0) {
        preg_match("/[^\WA-Z]{2}[а-яА-Я\s-ё,A-Za-z]*[^\WE\s][A-Za-zА-Яа-я\.ё\s\w,]*/", $res[2], $bgg); #работает
        $title = $bgg[0];
    }
    if ($res[1]=='910') {
// Когда количество наклееных штрихкодов на книгах станет больше 99999 следует исправить эту строчку
        preg_match("/[H][0]{3}[0-9]{5}/", $res[2], $ololo);
        $code = $ololo[0]; 
        $shcode=substr($code, 1, strlen($code));
        if (strlen($code)>0) {  echo '<b>'.$author.'</b> '.$title.' '.$shcode.'<br>'; 
    //    $authori = iconv("Windows-1251", "UTF-8", $author); 
    //    $titlei = iconv("Windows-1251", "UTF-8", $title); 
    //    db_query("INSERT INTO {books} (author,shcode,title) VALUES ('%s','%s','%s')",$author, $shcode, $title);
        }    
    }
}
endforeach;
Всё это хорошо когда у тебя сайт на windows-1251. После переезда на utf8 перестало работать всё. Нужна помощь.
Файл с базой в аттачах.
Требуется получить внятные данные из полей 200, 700, 461, и 910 после вхождения "^H".
1) Если не убрал утф сигнатуру- убери её
PHP:
$file = str_replace(pack("CCC", 0xef, 0xbb, 0xbf), '', $file);
2) вместо
PHP:
    $s_arr = explode("\n", $list); # разбиваем книгу на массив строк
лучше вставить
PHP:
    $s_arr = explode("\n", trim($list)); # разбиваем книгу на массив строк
нотисов поменьше будет
3) На счёт утф- это оч избитая тема, и есть куча разнобразных реализаций в инете. К сожелению нет ни одного универсального- приходится каждый раз искать вариант "чтоб работало.":D Например каждый раз конвертить-
Скрытое содержимое доступно для зарегистрированных пользователей!
накладно на ресурсы, но часто помогает.
Или, как вариант - использовать последовательнось байт кирилицы в диапозоне поиска например
PHP:
$UTF_C = "\x{0400}-\x{04FF}";
.....
        if ($res[1] == '700') {
             preg_match("#([$UTF_C]*?)\\^B([$UTF_C.]*)#u", $res[2], $seven); 
             $author = $seven[1].$seven[2];
        }
С
910 после вхождения "^H".
про это непонятно- вроде код должен работать нормально. только
PHP:
 $shcode=substr($code, 1);
третий параметр здес явно лишний.

+-----------------
я вижу тут кучю довольно замысловатых прег шаблонов, но не вижу ни одной проверки, это значит что данные не изменяются и достоверны. И, можно заметить, что везде мы очищаем данные от посторонних 2-х символов ^X. Так сожет просто убрать их?

PHP:
        if ($res[1] == '700') {
      
             $author = trim(preg_replace('#\^.#', ' ',  $res[2]));
 
 
        }
        if ($res[1] == '200') {
 
            $title = trim(preg_replace('#\^.#', ' ',  $res[2]));
            
        }
 
Всё работает, спасибо.

Столкнулся с ещё одной проблемой:
2504 Важенин А.Г. Обществознание учеб. пособие для сред. проф. образования А. Г. Важенин 00000500
2504 Важенин А.Г. Обществознание учеб. пособие для сред. проф. образования А. Г. Важенин 00000502
2504 Важенин А.Г. Обществознание учеб. пособие для сред. проф. образования А. Г. Важенин 00000499
2472 Агабекян И.П. Английский для средних профессиональных заведений учеб. пособие для сред. проф. образования И. П. Агабекян 00002526
Практикум по гражданскому праву ч. 1 ред. В. П. Мозолин, ред. С. В. Артеменков, ред. Н. М. Фролова 00000688
2541 Корнеева И.Л. Практикум по гражданскому праву. Часть вторая отдельные виды обязательств И. Л. Корнеева 00000689
2544 Соколова Э.Д. Финансовое право учеб. для сред. проф. образования Е. Ю. Грачева, Э. Д. Соколова 00000703
2555 Рыбченкова Л.М. Русский язык. Грамматика. Текст. Стили речи учеб. для 10-11 кл. общеобразоват. учреждений А. И. Власенков, Л. М. Рыбченкова 00001826
2555 Рыбченкова Л.М. Русский язык. Грамматика. Текст. Стили речи учеб. для 10-11 кл. общеобразоват. учреждений А. И. Власенков, Л. М. Рыбченкова 00001832
Код:
*****
#101: rus
#102: RU
#675: 30
#900: ^B05
#908: В 12
#919: ^Arus^N02^KPSBO
#920: PAZK
#964: 13.07.26
#999: 0000000
#907: ^CПК^A20071011^BКуприянова И.Г.
#700: ^32504^AВаженин^BА.Г.
#210: ^D2007^CАкадемия^AМ.
#10: ^A978-5-7695-3830-8^D211.00
#215: ^A368^1с.
#205: ^A3-е изд., стер.
#606: ^32504^Aобществознание
#907: ^CПК^A20071019^BКуприянова И.Г.
#907: ^C^A20080410^B
#200: ^AОбществознание^Eучеб. пособие для сред. проф. образования^FА. Г. Важенин
#907: ^CПК^A20100705^BГрибакина Т.А.
#903: 30/В 12-700195
#910: ^A0^B 246549^C10.10.2007^DХР^H00000493^Y14^FИП Хейлик
#910: ^A0^B 246550^C10.10.2007^DХР^Y14^FИП Хейлик
#910: ^A0^B 246551^C10.10.2007^DХР^H00000491^Y14^FИП Хейлик
#910: ^A0^B 246552^C10.10.2007^DХР^Y14^FИП Хейлик
#910: ^A0^B 246553^C10.10.2007^DХР^Y14^FИП Хейлик
#910: ^A0^B 246554^C10.10.2007^DХР^Y14^FИП Хейлик
#910: ^A0^B 246555^C10.10.2007^DХР^Y14^FИП Хейлик
#910: ^A0^B 246556^C10.10.2007^DХР^Y14^FИП Хейлик
#910: ^A0^B 246557^C10.10.2007^DХР^Y14^FИП Хейлик
#910: ^A0^B 246558^C10.10.2007^DХР^Y14^FИП Хейлик
#910: ^A0^B 246559^C10.10.2007^DХР^Y14^FИП Хейлик
#910: ^A0^B 246560^C10.10.2007^DХР^Y14^FИП Хейлик
#910: ^A0^B 246561^C10.10.2007^DХР^Y14^FИП Хейлик
#910: ^A0^B 246562^C10.10.2007^DХР^Y14^FИП Хейлик
#910: ^A0^B 246563^C10.10.2007^DХР^Y14^FИП Хейлик
#910: ^A0^B 246564^C10.10.2007^DХР^Y14^FИП Хейлик
#910: ^A0^B 246565^C10.10.2007^DХР^H00000510^Y14^FИП Хейлик
#910: ^A0^B 246566^C10.10.2007^DХР^Y14^FИП Хейлик
#910: ^A0^B 246567^C10.10.2007^DХР^Y14^FИП Хейлик
#910: ^A0^B 246568^C10.10.2007^DХР^H00000507^Y14^FИП Хейлик
#910: ^A0^B 246569^C10.10.2007^DХР^H00000504^Y14^FИП Хейлик
#910: ^A0^B 246570^C10.10.2007^DХР^H00000496^Y14^FИП Хейлик
#910: ^A0^B 246571^C10.10.2007^DХР^H00000503^Y14^FИП Хейлик
#910: ^A0^B 246572^C10.10.2007^DХР^H00000497^Y14^FИП Хейлик
#910: ^A0^B 246573^C10.10.2007^DХР^H00000506^Y14^FИП Хейлик
#910: ^A0^B 246574^C10.10.2007^DХР^H00000508^Y14^FИП Хейлик
#910: ^A0^B 246575^C10.10.2007^DХР^H00000498^Y14^FИП Хейлик
#910: ^A0^B 246576^C10.10.2007^DХР^H00000495^Y14^FИП Хейлик
#910: ^A0^B 246577^C10.10.2007^DХР^H00000501^Y14^FИП Хейлик
#910: ^A0^B 246578^C10.10.2007^DХР^H00000492^Y14^FИП Хейлик
#910: ^A0^B 246579^C10.10.2007^DХР^H00000509^Y14^FИП Хейлик
#910: ^A0^B 246580^C10.10.2007^DХР^Y14^FИП Хейлик
#910: ^A0^B 246581^C10.10.2007^DХР^Y14^FИП Хейлик
#910: ^A0^B 246582^C10.10.2007^DХР^Y14^FИП Хейлик
#910: ^A0^B 246583^C10.10.2007^DХР^Y14^FИП Хейлик
#910: ^A0^B 246584^C10.10.2007^DХР^H00000494^Y14^FИП Хейлик
#910: ^A0^B 246585^C10.10.2007^DХР^H00000505^Y14^FИП Хейлик
#910: ^A0^B 246586^C10.10.2007^DХР^H00000500^Y14^FИП Хейлик
#910: ^A0^B 246587^C10.10.2007^DХР^H00000502^Y14^FИП Хейлик
#910: ^A0^B 246588^C10.10.2007^DХР^Y14^FИП Хейлик
#910: ^A0^B 246589^C10.10.2007^DХР^Y14^FИП Хейлик
#910: ^A0^B 246590^C10.10.2007^DХР^Y14^FИП Хейлик
#910: ^A0^B 246591^C10.10.2007^DХР^Y14^FИП Хейлик
#910: ^A0^B 246592^C10.10.2007^DХР^Y14^FИП Хейлик
#910: ^A0^B 246593^C10.10.2007^DХР^H00000499^Y14^FИП Хейлик
В общем, нужно полностью убрать цифры из 700 кода, модифицируя этот код:
PHP:
             $author = trim(preg_replace('#\^.#', ' ',  $res[2]));


P.S.
Аццко! :-]
 
В общем, нужно полностью убрать цифры из 700 кода, модифицируя этот код:
PHP:
             $author = trim(preg_replace('#\^.#', ' ',  $res[2]));


P.S.
Аццко! :-]
PHP:
       if ($res[1] == '700') {
             $author = trim(preg_replace('#(\^\d+|\^.)#', ' ',  $res[2]));
        }
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху