PHP中我经常容易混淆的三组函数,PHP混淆三组函数_PHP教程
PHP中我经常容易混淆的三组函数,PHP混淆三组函数
原文:http://www.ido321.com/1252.html
一、htmlentities() 和htmlspecialchars()
1、htmlentities()
1.1 功能:把字符转换为 HTML 实体。字符包括ASCII实体和ISO 8859-1实体(HTML实体对照表:http://www.w3school.com.cn/tags/html_ref_entities.html)
1.2 语法:htmlentities(string,quotestyle,character-set)
1.3 参数:string是必选参数,是需要转换的字符串。其余可选,quotestyle规定如何编码单引号和双引号:ENT_COMPAT – 默认。仅编码双引号;ENT_QUOTES – 编码双引号和单引号;ENT_NOQUOTES – 不编码任何引号。character-set是规定转换用的字符集,常用的有UTF-8/GB-2312/ISO-8859-1(默认)。
1.4 提示:无法被识别的字符集将被忽略,并由 ISO-8859-1 代替。
<span>$str = <span>"John & 'Adams'"</span>; <span>echo</span> htmlentities($str); <span>//在浏览器中输出:John & 'Adams'</span> //查看源代码:John & <span>'Adams'</span></span>
2、htmlspecialchars()
2.1 把一些预定义的字符转换为 HTML 实体。预定义字符都是ASCII 实体,即此函数不能转换ISO 8859-1实体,这是和htmlrntities()的区别
预定义的字符是:
- & (和号) 成为 &
- ” (双引号) 成为 "
- ‘ (单引号) 成为 '
- < (小于) 成为 <
- > (大于) 成为 >
2.2 htmlspecialchars(string,quotestyle,character-set)
2.3 参数htmlentities()
2.4 提示:无法被识别的字符集将被忽略,并由 ISO-8859-1 代替。
<span>$str = <span>"John & 'Adams'"</span>; <span>echo</span> htmlentities($str); <span>//在浏览器中输出:John & 'Adams'</span> //查看源代码:John & <span>'Adams'</span></span>
二、html_entity_decode()和htmlspecialchars_decode()
html_entity_decode(string,quotestyle,character-set) 函数把 HTML 实体转换为字符,是htmlentities()的反函数。
htmlspecialchars_decode(string,quotestyle)函数把预定义的 HTML 实体转换为字符,是htmlspecialchars()的反函数。
<span>$str = <span>"John & 'Adams'"</span>; <span>echo</span> html_entity_decode($str); <span>//浏览器输出:John & 'Adams'</span> //源代码:John & 'Adams'</span>
三、addslashes()和addcslashes()
1、addslashes(string):在指定的预定义字符前添加反斜杠。string是需要检查的字符串。该函数数可用于为存储在数据库中的字符串以及数据库查询语句准备合适的字符串。
预定义字符是:单引号(’)、双引号(”)、反斜扛(\)和NULL
ps:默认情况下,PHP 指令 magic_quotes_gpc 为 on,对所有的 GET、POST 和 COOKIE 数据自动运行 addslashes()。不要对已经被 magic_quotes_gpc 转义过的字符串使用 addslashes(),因为这样会导致双层转义。遇到这种情况时可以使用函数 get_magic_quotes_gpc() 进行检测。
<span>$str = <span>"Who's John Adams?"</span>; <span>echo</span> $str . <span>" This is not safe in a database query.<br />"</span>; <span>echo</span> addslashes($str) . <span>" This is safe in a database query."</span>;</span>
输出:
<span>Who's John Adams? This is not safe in a database query. Who\'s John Adams? This is safe in a database query.</span>
<span> <span>2、addcslashes(</span><em>string</em>,<em>characters</em><span>) 函数在<span>指定的字符</span>前添加反斜杠。stirng必须,第二个可选。规定受 addcslashes() 影响的字符或字符范围。</span></span>
<span> ps:<strong>在对 0,r,n 和 t 应用 addcslashes() 时要小心。在 PHP 中,\0,\r,\n 和 \t 是预定义的转义序列。此函数可以对任何字符,包括预定义字符进行反斜扛添加,这是和addslashes的区别</strong></span>
<span>//向特定字符添加反斜杠</span><span> $str = <span>"Hello, my name is John Adams."</span>; <span>echo</span> $str; <span>echo</span> addcslashes($str,<span>'m'</span>); <span>echo</span> addcslashes($str,<span>'J'</span>);</span>
输出:
<span>Hello, my name is John Adams. Hello, \my na\me is John Ada\ms. Hello, my name is \John Adams.</span>
<span>//向字符串中的一个范围内的字符添加反斜杠</span><span> $str = <span>"Hello, my name is John Adams."</span>; <span>echo</span> $str; <span>echo</span> addslashes($str); <span>//使用addslashes</span> <span>echo</span> addcslashes($str,<span>'A..Z'</span>); <span>echo</span> addcslashes($str,<span>'a..z'</span>); <span>echo</span> addcslashes($str,<span>'a..h'</span>);</span>
输出:
Hello, my name is John Adams.
Hello, my name is John Adams.
\Hello, my name is \John \Adams.
H\e\l\l\o, \m\y \n\a\m\e \i\s J\o\h\n A\d\a\m\s.
H\ello, my n\am\e is Jo\hn A\d\ams.
下一篇:Ubuntu下安装XAMPP

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

PHP 8.4 apporte plusieurs nouvelles fonctionnalités, améliorations de sécurité et de performances avec une bonne quantité de dépréciations et de suppressions de fonctionnalités. Ce guide explique comment installer PHP 8.4 ou mettre à niveau vers PHP 8.4 sur Ubuntu, Debian ou leurs dérivés. Bien qu'il soit possible de compiler PHP à partir des sources, son installation à partir d'un référentiel APT comme expliqué ci-dessous est souvent plus rapide et plus sécurisée car ces référentiels fourniront les dernières corrections de bogues et mises à jour de sécurité à l'avenir.

Si vous êtes un développeur PHP expérimenté, vous aurez peut-être le sentiment d'y être déjà allé et de l'avoir déjà fait. Vous avez développé un nombre important d'applications, débogué des millions de lignes de code et peaufiné de nombreux scripts pour réaliser des opérations.

Visual Studio Code, également connu sous le nom de VS Code, est un éditeur de code source gratuit – ou environnement de développement intégré (IDE) – disponible pour tous les principaux systèmes d'exploitation. Avec une large collection d'extensions pour de nombreux langages de programmation, VS Code peut être c

JWT est une norme ouverte basée sur JSON, utilisée pour transmettre en toute sécurité des informations entre les parties, principalement pour l'authentification de l'identité et l'échange d'informations. 1. JWT se compose de trois parties: en-tête, charge utile et signature. 2. Le principe de travail de JWT comprend trois étapes: la génération de JWT, la vérification de la charge utile JWT et l'analyse. 3. Lorsque vous utilisez JWT pour l'authentification en PHP, JWT peut être généré et vérifié, et les informations sur le rôle et l'autorisation des utilisateurs peuvent être incluses dans l'utilisation avancée. 4. Les erreurs courantes incluent une défaillance de vérification de signature, l'expiration des jetons et la charge utile surdimensionnée. Les compétences de débogage incluent l'utilisation des outils de débogage et de l'exploitation forestière. 5. L'optimisation des performances et les meilleures pratiques incluent l'utilisation des algorithmes de signature appropriés, la définition des périodes de validité raisonnablement,

Une chaîne est une séquence de caractères, y compris des lettres, des nombres et des symboles. Ce tutoriel apprendra à calculer le nombre de voyelles dans une chaîne donnée en PHP en utilisant différentes méthodes. Les voyelles en anglais sont a, e, i, o, u, et elles peuvent être en majuscules ou en minuscules. Qu'est-ce qu'une voyelle? Les voyelles sont des caractères alphabétiques qui représentent une prononciation spécifique. Il y a cinq voyelles en anglais, y compris les majuscules et les minuscules: a, e, i, o, u Exemple 1 Entrée: String = "TutorialSpoint" Sortie: 6 expliquer Les voyelles dans la chaîne "TutorialSpoint" sont u, o, i, a, o, i. Il y a 6 yuans au total

Ce tutoriel montre comment traiter efficacement les documents XML à l'aide de PHP. XML (Language de balisage extensible) est un langage de balisage basé sur le texte polyvalent conçu à la fois pour la lisibilité humaine et l'analyse de la machine. Il est couramment utilisé pour le stockage de données et

Liaison statique (statique: :) implémente la liaison statique tardive (LSB) dans PHP, permettant à des classes d'appel d'être référencées dans des contextes statiques plutôt que de définir des classes. 1) Le processus d'analyse est effectué au moment de l'exécution, 2) Recherchez la classe d'appel dans la relation de succession, 3) il peut apporter des frais généraux de performance.

Quelles sont les méthodes magiques de PHP? Les méthodes magiques de PHP incluent: 1. \ _ \ _ Construct, utilisé pour initialiser les objets; 2. \ _ \ _ Destruct, utilisé pour nettoyer les ressources; 3. \ _ \ _ Appel, gérer les appels de méthode inexistants; 4. \ _ \ _ GET, Implémentez l'accès à l'attribut dynamique; 5. \ _ \ _ SET, Implémentez les paramètres d'attribut dynamique. Ces méthodes sont automatiquement appelées dans certaines situations, améliorant la flexibilité et l'efficacité du code.
