Я пытаюсь преобразовать строку с отрицательным числом в целое число.
Я преобразовал PDF-файл в текстовый файл, используя pdftotext
, После выполнения регулярных выражений у меня есть несколько строк, которые мне нужно преобразовать в целые числа в PHP, а затем вставить их в MySQL. Я пробовал str_replace, preg_replace и rawurlencode, но это не сработало.
var_dump($mystring); # output is `string(6) "‐200"`
var_dump(urlencode($mystring)); # output is `string(12) "%E2%80%90200"`
var_dump((int)$mystring); # output is 'int(0)
$mystring = str_replace('-', '%E2%80%90', $mystring); # did not work
$mystring = preg_replace('/%E2%80%90/', '-', $mystring); # did not work
$mystring = rawurlencode($mystring); # did not work
Ваш PDF-текст содержит многобайтовые символы, которые вам придется конвертировать (возможно, и в других местах).
<?php
$mystring = "‐200";
$unicode_hyphen = '‐'; // "E2 80 90" is the Unicode multi-byte hyphen character, that your PDFs seem to contain
$ascii_hyphen = '-';
$myint = intval(str_replace($unicode_hyphen , $ascii_hyhpen , $mystring));
var_dump($myint); // => int(-200)
Увидеть: 3v4l.org/sN5AS
Других решений пока нет …