suchen
Heimphp教程php手册php addslashes函数

php addslashes函数最终对应的c函数为:

 

3244 PHPAPI char *php_addslashes_ex(char *str, int length, int *new_length, int should_free, int ignore_sybase TS     RMLS_DC)

3245 {

3246     /* maximum string length, worst case situation */

3247     char *new_str;

3248     char *source, *target;

3249     char *end;

3250     int local_new_length;

3251 

3252     if (!new_length) {

3253         new_length = &local_new_length;

3254     }

3255     if (!str) {

3256         *new_length = 0;

3257         return str;

3258     }

3259     new_str = (char *) safe_emalloc(2, (length ? length : (length = strlen(str))), 1);

3260     source = str;

3261     end = source + length;

3262     target = new_str;

3263 

3264     if (!ignore_sybase && PG(magic_quotes_sybase)) {

3265         while (source

3266             switch (*source) {

3267                 case '\0':

3268                     *target++ = '\\';

3269                     *target++ = '0';

3270                     break;

3271                 case '\'':

3272                     *target++ = '\'';

3273                     *target++ = '\'';

3274                     break;

3275                 default:

3276                     *target++ = *source;

3277                     break;

3278             }

3279             source++;

3280         }

3281     } else {

3282         while (source

3283             switch (*source) {

3284                 case '\0':

3285                     *target++ = '\\';

3286                     *target++ = '0';

3287                     break;

3288                 case '\'':

3289                 case '\"':

3290                 case '\\':

3291                     *target++ = '\\';

3292                     /* break is missing *intentionally* */

3293                 default:

3294                     *target++ = *source;

3295                     break;

3296             }

3297 

3298             source++;

3299         }

3300     }

3301 

3302     *target = 0;

3303     *new_length = target - new_str;

3304     if (should_free) {

3305         STR_FREE(str);

3306     }

3307     new_str = (char *) erealloc(new_str, *new_length + 1);

3308     return new_str;

3309 }

从上面看addslashes函数处理的是单字节的字节。

 

但是gbk编码是双字节的。而且5c又可以做双字节的低位。

Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

mPDF

mPDF

mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),

SAP NetWeaver Server-Adapter für Eclipse

SAP NetWeaver Server-Adapter für Eclipse

Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

MinGW – Minimalistisches GNU für Windows

MinGW – Minimalistisches GNU für Windows

Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.