Compare commits

..

2 Commits

Author SHA1 Message Date
5b3ea91ac5 ver.0.1 2024-05-24 13:52:03 +03:00
9d8e759172 ver.0.1 2024-05-24 13:04:27 +03:00
4 changed files with 42 additions and 33 deletions

View File

@ -1,7 +1,14 @@
Билай;Станислав;Романович;2002-03-11;Мужчина;+7;9493761924;stasbilay02@yandex.ru; Билай;Станислав;Романович;2002-03-11;Мужчина;+7;9493761924;stasbilay02@yandex.ru
Иванов;Иван;Иванович;2002-03-11;Мужчина;+7;1111111111;dsjgbdskgb@yandex.ru; Иванова;Мария;Сергеевна;2002-04-05;Женжина;+38;2222222222;sdguhnlnoih@gmail.com
Иванова;Мария;Сергеевна;2002-04-05;Женжина;+38;2222222222;sdguhnlnoih@gmail.com; Иванов;Иван;Иванович;2002-03-11;Мужчина;+7;1111111111;dsjgbdskgb@yandex.ru
Плешкова;Анастасия;Денисовна;2006-11-10;Женжина;+7;3333333333;ple.anastasiya@gmail.com; Плешкова;Анастасия;Денисовна;2006-11-10;Женжина;+7;3333333333;ple.anastasiya@gmail.com
Зайцева;Анжела;Игоревна;1998-12-12;Женжина;+7;4444444444;aksjfhfka@mail.ru; Зайцева;Анжела;Игоревна;1998-12-12;Женжина;+7;4444444444;aksjfhfka@mail.ru
Петров;Петр;Петрович;1987-03-02;Мужчина;+7;7777777777;jksghhsdkj@gmail.com; Петров;Петр;Петрович;1987-03-02;Мужчина;+7;7777777777;jksghhsdkj@gmail.com
Зайцев;Федор;Александрович;2014-12-22;Мужчина;+7;6667774441;asert@mail.ru; Зайцев;Федор;Александрович;2014-12-22;Мужчина;+7;6667774441;asert@mail.ru
Иванов;Петр;Михайлович;2002-03-11;Мужчина;+7;1111111111;asert@mail.ru
Иванов;Роман;Сергеевич;2002-03-11;Мужчина;+7;1111111111;ple.anastasiya@gmail.com
Билай;Станислав;Романович;4444-04-04;Мужчина;+7;9493761924;stasbilay02@yandex.ru
Билай;Станислав;Романович;4444-04-04;Мужчина;+7;9493761924;stasbilay02@yandex.ru
Билай;Станислав;Романович;4444-04-04;Мужчина;+7;9493761924;stasbilay02@yandex.ru
Билай;Станислав;Романович;4444-04-04;Мужчина;+7;9493761924;stasbilay02@yandex.ru
Билай;Станислав;Романович;4444-04-04;Мужчина;+7;9493761924;stasbilay02@yandex.ru

10
Search.php Normal file
View File

@ -0,0 +1,10 @@
<?php
function search(string $strFromFile, string $strForSearch): ?string
{
if($strFromFile) {
if (preg_match($strForSearch, $strFromFile))
return $strFromFile;
}
return null;
}

View File

@ -5,6 +5,7 @@ namespace src;
use Information; use Information;
require_once "src/Information.php"; require_once "src/Information.php";
require_once "Search.php";
$fileName = "Information.txt"; $fileName = "Information.txt";
$fileModeOpen = "a"; $fileModeOpen = "a";
@ -20,10 +21,22 @@ $file = fopen($fileName, $fileModeOpen);
fwrite($file, $string); fwrite($file, $string);
fclose($file); fclose($file);
$file = file($fileName); $file = fopen($fileName, "r");
$str = new Information();
$res = $str->search($file, "Зайцев");
echo $res; $arrKey = array('surname', 'name', 'patronymic', 'dateOfBirth', 'gender', 'countryCode', 'phoneNumber', 'email');
$parsingArray = array();
while (!feof($file)) {
$str = fgets($file);
if(search($str, '/\b(иванов)\b/ui')){
$array = array_combine($arrKey, explode(";", $str));
$obj = new Information();
$obj->load($array);
$parsingArray[] = $obj;
}
}
echo "<pre>";
print_r($parsingArray);
require "table.php"; require "table.php";

View File

@ -9,7 +9,6 @@
* @property string $countryCode * @property string $countryCode
* @property string $phoneNumber * @property string $phoneNumber
* @property string $email * @property string $email
* @property string $tempString
*/ */
class Information class Information
{ {
@ -21,8 +20,6 @@ class Information
public string $countryCode; public string $countryCode;
public string $phoneNumber; public string $phoneNumber;
public string $email; public string $email;
public string $tempString;
public function __construct() public function __construct()
{ {
@ -66,26 +63,8 @@ class Information
public function toString(): string public function toString(): string
{ {
return $this->surname . ';' . $this->name . ';' . $this->patronymic . ';' . $this->dateOfBirth . ';' . return $this->surname . ';' . $this->name . ';' . $this->patronymic . ';' . $this->dateOfBirth . ';' .
$this->gender . ';' . $this->countryCode . ';' . $this->phoneNumber . ';' . $this->email . ";\n"; $this->gender . ';' . $this->countryCode . ';' . $this->phoneNumber . ';' . $this->email . "\n";
} }
/**
* @param array $textArrayFromFile
* @param string $search
* @return string|null
*/
public function search(array $textArrayFromFile, string $search): ?string
{
if($textArrayFromFile) {
foreach ($textArrayFromFile as $str) {
if (str_contains($str, $search)) {
$this->tempString = strstr($str, $search);
return substr($this->tempString, 0, strlen($search));
}
}
}
return null;
}
} }