У меня есть определенный текст, хранящийся в текстовом файле. Как я могу извлечь только «4854D382GA9@example.com» текстового идентификатора, используя Php.
Вот пример текста:
[X-PHP-Originating-Script: 0: acr.php
x: <193@example.com>
MIME-версия: 1.0
Content-Type: text / plain; Charset = US-ASCII;
Формат = потекла
Text-ID: <4854D382GA9@example.com>
Дата: Вс, 02 июл 2017 12:22:12 +0500]
Любая помощь приветствуется. Заранее спасибо.
Строка нагрузки, которая начинается с вашего идентификатора типа «Text-ID:», использует strpos
а затем использует php для загрузки других данных из этой строки
взрываться
или
preg_match
для текущей строки, чтобы искать то, что вы хотите
$text = '[X-PHP-Originating-Script: 0:acr.php x: <193@example.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; Format=flowed Text-ID: <4854D382GA9@example.com> Date: Sun, 02 Jul 2017 12:22:12 +0500]'; preg_match('/Text\-ID:\s<(.*?)>/s', $text, $ret); var_dump($ret[1]); exit;
// Исправьте формат текстового файла, как показано ниже:
[X-PHP-Originating-Script: 0:acr.php x: <193@example.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; Format=flowed Text-ID: <4854D382GA9@example.com> Date: Sun, 02 Jul 2017 12:22:12 +0500]
// Используйте следующий код и используйте str_replace (), чтобы получить желаемый результат
$myFile = "abc.txt"; $lines = file($myFile);//file in to an array $abc = str_replace("Text-ID:","",$lines[5]); $abc = str_replace("<","",$abc); $abc = str_replace(">","",$abc); print_r($abc);
// Второй вариант
$myFile = "abc.txt"; $lines = file($myFile);//file in to an array preg_match('/Text\-ID:\s<(.*?)>/s', $lines[5], $match); print_R($match[1]);
Сначала создайте блокнот с фиктивным именем файла . после этого поместить весь текст в этот файл. Пожалуйста, используйте мой скрипт, чтобы найти определенную строку из данной строки.
За один раз
$lines= file('dummy.txt'); // write file name here $find_word= ''; if(count($lines)>0){ //$lk=array_search('Text-ID',$line); foreach ($lines as $lineNumber => $line) { if (strpos($line, 'Text-ID') !== false) { $start = '<'; $end = '>'; $r = explode($start, $line); if (isset($r[1])){ $r = explode($end, $r[1]); $find_word=$r[0]; } } } } print_r($find_word); exit;
В течение нескольких
если вы хотите найти строку несколько раз и сохранить в массиве, то использовать этот скрипт.
$lines= file('dummy.txt'); // write file name here $find_words= ''; if(count($lines)>0){ //$lk=array_search('Text-ID',$line); foreach ($lines as $lineNumber => $line) { if (strpos($line, 'Text-ID') !== false) { $start = '<'; $end = '>'; $r = explode($start, $line); if (isset($r[1])){ $r = explode($end, $r[1]); $find_words[]=$r[0]; } } } } print_r($find_words); exit;