Ef% bb% BF% c2% A0 -), hogy ez a karakter és hogyan távolítsa el őket a url verem túlcsordulás az orosz
Kérem, segítsen megoldani.
Az első ilyen üres string lehet az eredmény var_dum = string (3): „”.
Más magyarázat Unicode I znayu.Pohodu ezeket (utf-8) és láthatatlan karakterek.
A legegyszerűbb lehetőség
De milyen jól, így nem vagyok biztos
Ha ez a helyzet, akkor meg kell vizsgálni, hogy ez lehet a tér alatt a különböző kódolási más és hogyan tisztítsák meg a húr belőle?
7-bites ASCII?
Ha hirtelen 1963-ban, és csak szeretné használni a nyomtatható karakterek ASCII 7 bites, csak akkor kell eltávolítani az összes karakter a tartományban 0-31 és kódok 127-255:
8 bites kiterjesztett ASCII?
1963-ban, ha nem tetszik, és elmozdítja a nyolcvanas és szembesülnek a ASCII 8 bites, amelyben a karakterek hétköznapi 128-255, megjelenik szimbólumok. Ezután már csak be kell állítani a kissé csere szöveget és a karakterek törléséhez 0-31 és 127:
Üdvözöljük a 21. században! Ha a string karakterlánc UTF-8, akkor kell használni a módosító \ u:
Egyszerűen távolítsa el a szimbólumokat 0-31 és 127. Ez a kialakítás működne mindkettőt, és a 8-bites ASCII UTF-8, mivel a második egy részhalmaza az első, és mindketten ugyanabban a tartományban a vezérlő karaktereket. Őszintén szólva, az ilyen szerkezetnek nélkül is működik / u. de azt, hogy az élet könnyebb, ha kell törölni, és mi vagy más szimbólumok.
Ha ön foglalkozik az Unicode következik, hogy olyan sok nem nyomtatható karakterek. de vegyük az egyik leggyakrabban használható ,: nem törhető szóköz (U + 00A0)
Összhangban az UTF-8, akkor is képviselteti magát 0xC2A0. Ennek megfelelően meg kell keresni, és törölje a karaktersorozat, de ha használja a módosító / u. akkor egyszerűen adja meg \ xA0:
Bónusz: mi van, ha str_replace?
preg_replace rendkívül hatékony, de ha kell feldolgozni nagy mennyiségű szöveget, termelékenyebb használni str_replace feltüntetve a tömb karakterek:
Szemléletesen úgy tűnik, hogy ez a megközelítés működni fog sokkal gyorsabb, de most tesztek. Hozzon létre egy sor vizsgálati vonalak különböző hosszúságú és tartalmát, és ellenőrizze a sebesség (használt PHP 7.0.12):
A méréseket 10.000 ismétléseket. Ez nagyon érdekes, hogy nézd meg a relatív különbségeket. Vonósokra maximum 512 karakter jelentős a különbözet nyer preg_replace. A különbség 1-8kb leveled.
Érdekes eredmény, nem? De semmiképpen nem hagyatkozhat kizárólag én tesztek, mint a konkrét adatok minden pontosan az ellenkezője.