PHP: Fjern ikke-brytende tegn
Webbyrå » Digitale nyheter » PHP: Fjern ikke-brytende tegn

PHP: Fjern ikke-brytende tegn

For en tid siden skrev jeg en artikkel som forklarer og ga en løsning for å begrense kodefeil. På samme måte skriver jeg dette innlegget for å fullføre min første løsning. Jeg husker problemet mitt. Ved behandling av massedata fra filer som kan være av flere typer (CSV, XLS, etc.), støter vi jevnlig på kodingsproblemer og problemer med ikke-brytende tegn.

Kodingsproblem

For å løse kodingsproblemene våre la jeg innledningsvis ut en løsning som består i å omkode tegnstrengene våre. Her er min løsning.

1
mb_convert_encoding($string, "UTF-8", mb_detect_encoding($string));

Fjern ikke-knusende og usynlige karakterer

Dette er den siste feilen jeg gjorde: å glemme å behandle alle tegn og sortering. Det er tegn i ASCII-tabellen som egentlig ikke er nyttige lenger. Skriptet som jeg legger i form av Gists gjør det mulig å behandle tegn for tegn og å fjerne tegnene som har en kode lavere enn 32 og som ikke er synlige og visningsbare tegn.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
gc_disable();
$content = file_get_contents("db.csv");
if ($innhold === falsk) {
savner "FEIL: kan ikke lese filen.";
();
}
forum($i = 0; $i < strlen($innhold); $i++) {
$ascii = ord($innhold[$i]);
if (($ascii 32 or $asci > 126) og $asci!= 10) {
$innhold[$i] = "?";
}
}
if (file_put_innhold("ny.csv", $innhold) === falsk) {
savner "FEIL: umulig å skrive den nye filen.";
}

Med disse to forholdsreglene håper jeg at du, som meg, kan begrense filparsingsfeil.

★ ★ ★ ★ ★