удалить кавычки внутри кавычек регулярное выражение переполнение стека

Моя строка выглядит так:

[...]
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]’. Это странно, я знаю.

0

Решение

Либо избежать внутренней цитаты:

$pdf->Write(6,'Dutzler, Herbert - Letzter\' Saibling');

или используйте двойные кавычки вокруг строки вместо одинарных кавычек:

$pdf->Write(6,"Dutzler, Herbert - Letzter' Saibling");

Нет необходимости в регулярном выражении, просто сначала правильно напишите код.

3

Другие решения

Вы пробовали addlashes ()? Следует добавить косую черту перед кавычками.

0

По вопросам рекламы [email protected]