PHP: Távolítsa el a nem törő karaktereket
Webügynökség » Digitális hírek » PHP: Távolítsa el a nem törő karaktereket

PHP: Távolítsa el a nem törő karaktereket

Nem sokkal ezelőtt írtam egy cikket, amely elmagyarázza és megoldást kínál a kódolási hibák korlátozására. Ugyanebben a szellemben írom ezt a bejegyzést, hogy befejezzem az első megoldásomat. Emlékszem a problémámra. A többféle típusú fájlból (CSV, XLS stb.) származó tömegadatok feldolgozásakor rendszeresen találkozunk kódolási problémákkal és problémákkal a nem törő karakterekkel.

Kódolási probléma

A kódolási problémáink megoldására először közzétettem egy megoldást, amely a karakterláncaink újrakódolásából áll. Íme az én megoldásom.

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

Távolítsa el a nem törő és láthatatlan karaktereket

Ez az utolsó hiba, amit elkövettem: elfelejtettem az összes karaktert feldolgozni és rendezni. Az ASCII-táblázatban vannak olyan karakterek, amelyek már nem igazán hasznosak. Az általam Gists formájú szkript lehetővé teszi a karakterenkénti feldolgozást és a 32-nél kisebb kódú karakterek eltávolítását, amelyek nem láthatók és megjeleníthető karakterek.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
gc_disable();
$content = file_get_contents("db.csv");
if ($tartalom === hamis) {
visszhang "HIBA: a fájl nem olvasható.";
meghal,
}
mert($i = 0; $i < strlen($tartalom); $i++) {
$ascii = ord($tartalom[$i]);
if (($ascii 32 or $asci > 126) és a $asci!= 10) {
$tartalom[$i] = "?";
}
}
if (file_put_contents("új.csv", $tartalom) === hamis) {
visszhang "HIBA: lehetetlen új fájlt írni.";
}

Ezzel a két óvintézkedéssel remélem, hozzám hasonlóan korlátozni tudja a fájlelemzési hibákat.

★ ★ ★ ★ ★