Обнаружение имени, которое разбивает две линии в PHP столбцаHtml

Программисты Html
Ответить
Anonymous
 Обнаружение имени, которое разбивает две линии в PHP столбца

Сообщение Anonymous »

Я подходил следующим образом < /p>

Код: Выделить всё

$parser = new Parser();
$pdf    = $parser->parseFile($_FILES['pdf']['tmp_name']);
$text   = $pdf->getText();

// Normalize NBSP → plain space
$text = preg_replace('/\x{00A0}/u', ' ', $text);

$text = preg_replace('/\R+(?=\s*Weekly\s+Totals)/iu', ' ', $text);

// Split into lines
$lines = preg_split('/\R/u', $text);

$results     = [];
$currentType = null;

foreach ($lines as $line) {
$line = trim($line);
< /code>
и он обнаруживает имена, когда < /p>
// Only lines with "Weekly Totals" matter now
if (stripos($line, 'Weekly Totals') === false) {
continue;
}

// Match: Name Weekly Totals  $ 
if (preg_match('/^(.+?)\s+Weekly\s+Totals\s+\d+\.\d{2}\s+\$[\d,]+\.\d{2}\s+(\d+\.\d{2})$/i', $line, $m)) {
$name  = ucwords(strtolower($m[1]));
Но в моем PDF некоторые имена длинные, и они разделены на две строки в одной и той же колонке «Josh Brook Silvester Damien Junior Weekly итоги» в PDF, как
Джош Брук Сильвестер Дэмиен 34,90 $ 259. 32.00
младшие еженедельные итоги
Следовательно, это не обнаруживается в результатах. Все данные игнорируются, и следующий человек в PDF получен (слева 34.90, стоимость 259, фактические 32) < /p>
Как можно приблизиться к этой ситуации? Я пытался исправить выражение режима по -разному, но не работал. < /P>
Проблема связана только с именами, которые разделены на две строки. Обнаружает все остальные имена, падающие в одну линию вместе с «еженедельным»

Подробнее здесь: https://stackoverflow.com/questions/795 ... column-php
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Html»