fix: evitar que <?xml rompa PHP con short_open_tag
El parser de PHP interpreta <? en HTML mode cuando short_open_tag=On. Se rompe la cadena para que no aparezca el literal <? en el archivo. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
5400fd9b32
commit
e93bb1ad41
+1
-1
@@ -1616,7 +1616,7 @@ async function ffExportarExcel() {
|
||||
});
|
||||
const xlsEsc = v => String(v).replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>').replace(/"/g,'"');
|
||||
const toCell = v => `<Cell><Data ss:Type="String">${xlsEsc(v)}</Data></Cell>`;
|
||||
const xml = `<?xml version="1.0" encoding="UTF-8"?>\n<?mso-application progid="Excel.Sheet"?>\n`
|
||||
const xml = '<' + '?xml version="1.0" encoding="UTF-8"?>\n<' + '?mso-application progid="Excel.Sheet"?>\n'
|
||||
+ `<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet">`
|
||||
+ `<Worksheet ss:Name="Domicilios"><Table>\n`
|
||||
+ csvRows.map(r => `<Row>${r.map(toCell).join('')}</Row>`).join('\n')
|
||||
|
||||
+2
-2
@@ -209,8 +209,8 @@ if ($tipo) {
|
||||
header('Pragma: no-cache');
|
||||
|
||||
$esc = fn($v) => htmlspecialchars((string)$v, ENT_XML1, 'UTF-8');
|
||||
echo '<?xml version="1.0" encoding="UTF-8"?>' . "\n";
|
||||
echo '<?mso-application progid="Excel.Sheet"?>' . "\n";
|
||||
echo '<' . '?xml version="1.0" encoding="UTF-8"?' . '>' . "\n";
|
||||
echo '<' . '?mso-application progid="Excel.Sheet"?' . '>' . "\n";
|
||||
echo '<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"' . "\n";
|
||||
echo ' xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet">' . "\n";
|
||||
echo '<Worksheet ss:Name="Reporte"><Table>' . "\n";
|
||||
|
||||
Reference in New Issue
Block a user