Моя строка выглядит так:
[...]
if(round($pdf->GetY() >= 140)) {
$pdf->AddPage();
}
$pdf->Write(6,'Dutzler, Herbert - Letzter' Saibling');
$pdf->Ln(7);
$pdf->SetFont('Helvetica','B',9);
$pdf->SetTextColor(3 [...]
Как видите, FPDF не может выполнить эту команду:
$pdf->Write(6,'Dutzler, Herbert - Letzter' Saibling');
потому что внутри кавычек есть кавычка и она вылетает.
У вас есть идея, как я могу удалить или заменить эти внутренние кавычки с помощью регулярных выражений? Я пробовал много разных вещей, кажется, не работает должным образом 🙁
код поступает из огромной базы данных, вот взглянуть на входной код:
[LOOP] $ pdf-> Write (6, ‘[title]’); $ Pdf-> Ln (7);
$ Pdf-> SetFont ( ‘Helvetica’, ‘В’, 9); [LOOP]
str_replace не работает должным образом, если внутри [title] есть кавычки, поэтому он уже терпит неудачу при $ str = ‘[title]’. Это странно, я знаю.
Либо избежать внутренней цитаты:
$pdf->Write(6,'Dutzler, Herbert - Letzter\' Saibling');
или используйте двойные кавычки вокруг строки вместо одинарных кавычек:
$pdf->Write(6,"Dutzler, Herbert - Letzter' Saibling");
Нет необходимости в регулярном выражении, просто сначала правильно напишите код.
Вы пробовали addlashes ()? Следует добавить косую черту перед кавычками.