Я использую xpdf для преобразования pdf в текст, а затем с помощью функции регулярного выражения выполняю поиск слов после двоеточия в pdf, а затем зацикливаю эти данные с помощью функции strpos из php и сохраняю их в базе данных. Это работает для меня для отдельных данных.но для нескольких одинаковых данных я не понимаю, как добавить эти данные в базу данных.
шаг за шагом я покажу вам свой код и ответ:
Я использую xpdf для преобразования моего PDF втекстовый формат с кодом ниже.
$text1 = (new Pdf('C:\xpdf-tools-win-4.00\bin64\pdftotext.exe'))
->setPdf($pathoffile)
->setOptions(['layout', 'layout'])
->text();
$string = $text1;
Вкл. echo $string
Я получаю данные, например:
In respect of Shareholders
Name: xyz
Residential address: dublin
No of Shares: 40
Name: abc
Residential address: canada
No of Shares: 2
ТАК, я получаю всего 2 акционеров с моими вышеуказанными данными.Теперь я хочу сохранить эти данные в моей таблице shareholders
.
Теперь я использую функцию preg_match_all, чтобы преобразовать эти данные в массив и затем сохранить в базе данных.
$array = array('Name','Residential address','No of Shares');
preg_match_all($regex, $string, $matches);
Использование нижефункция для получения массива с помощью strpos ().
function strposa($haystack, $needles=array(), $offset=0) {
$chr = array();
foreach($needles as $needle) {
$res = strpos($haystack, $needle, $offset);
if ($res !== false) $chr[$needle] = $res;
}
if(empty($chr)) return false;
return min($chr);
}
if($this->strposa($text1, $array) !== false)
{
foreach ($matches as $value) {
//print_r($matches);
$value=array_map('trim',$value);
$directors_info->name= $value[0];
$directors_info->address= $value[1];
$directors_info->shares= $value[2];
}
}
Мой массив print_r($matches)
показывает мне данные:
[0] => Array
(
[0] => xyz
[1] => dublin
[2] => 40
[3] => abc
[4] => canada
[5] => 2
)
, но если я получаю несколько акционеров, то он не будет работать длямне.Мой ожидаемый результат будет:
[0] => Array
(
[0] => xyz
[1] => dublin
[2] => 40
[0] => abc
[1] => canada
[2] => 2
)
Моя задача - хранить 2 данных отдельно с двумя строками в таблице.Как добиться такого рода данных.заранее спасибо.