Удалить цитаты внутри кавычек regex php

Моя строка выглядит следующим образом:

[...] 
if(round($pdf->GetY() >= 140)) { 
 $pdf->AddPage(); 
}
$pdf->Write(6,'Dutzler, Herbert - Letzter' ********'); 
$pdf->Ln(7); 
$pdf->SetFont('Helvetica','B',9); 
$pdf->SetTextColor(3 [...]

Как вы можете видеть, FPDF не может выполнить эту команду:

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

потому что есть цитата внутри кавычек, и она падает.

Вы знаете, как я могу удалить или заменить эти внутренние кавычки с помощью регулярного выражения? Я пробовал много разных вещей, кажется, не работает должным образом :(

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

[LOOP] $pdf-> Write (6, '[название]'); $pdf-> Ln (7); $pdf-> SetFont ( 'Helvetica', 'В', 9); [LOOP]

str_replace не работает должным образом, если в [title] есть кавычки, поэтому он уже терпит неудачу при $ str = '[title]'. Это странно, я знаю.

2 ответа

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

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

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

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

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


Вы пробовали addlashes()? Он должен добавить косые слова перед кавычками.

licensed under cc by-sa 3.0 with attribution.