Heim  >  Artikel  >  Backend-Entwicklung  >  Methoden und Wiederherstellung von Escape-Strings in PHP (detaillierte Beispiele)

Methoden und Wiederherstellung von Escape-Strings in PHP (detaillierte Beispiele)

WBOY
WBOYOriginal
2021-11-04 14:07:276070Durchsuche

Im vorherigen Artikel „Kodierung und Dekodierung von JSON in PHP (detaillierte Beispiele)“ haben wir ausführlich das Wissen über die Kodierung und Dekodierung von JSON mit Arrays und Strings in PHP vorgestellt. Ich hoffe, das hilft allen mit relevanten Kenntnissen über Zeichen-Escape in PHP!

Methoden und Wiederherstellung von Escape-Strings in PHP (detaillierte Beispiele)

Im vorherigen Artikel haben wir gelernt, dass wir PHP-Daten über die Funktion json_encode() und die Funktion json_decode() kodieren und dekodieren können Schauen Sie sich an, wie man Strings in PHP maskiert. json_encode()函数和json_decode()函数来进行PHP数据的编码和解码,接下来我们来看一下PHP中怎样对字符串进行转义的操作。

在PHP的开发项目中,能够遇到很多进行字符串转义的操作,这时候要怎样进行字符串的转义,在PHP中我们可以通过转义字符和能够进行自动转义的函数来进行操作。下面就让我们一起来看一下吧。

转义字符-手动转义字符串

在之前的文章中,我们介绍过转义字符,转义字符可以把它看成是能够进行转义效果的特殊字符,转义字符一般都是用反斜杠“”开始,后面会有一个或者多个字符,这样的话,转义字符就有了能够转义的含义。简单来说,转义字符就把它看成一种特殊的字符常量。

转义字符能够将普通的字符转化为特殊用途,用这些特殊的用途能够能够将字符转化为它本来的意义。

想要使用转义字符来转换字符串的话,其中需要注意的是,字符串使用单引号或者双引号进行定义的,在字符串中如果存在能够干扰字符串定义的字符,这时候我们就需要将字符串内可能有干扰的字符进行转义,这样的话就能够避免自负的定义出现歧义。

接下来我们通过示例来看一下通过转义字符来转义字符串,示例如下:

当我们想要输出:网址是:'https://www.php.cn/' 的时候,如果单纯地使用echo来输出字符串,其中的字符可能会影响最后的输出结果导致错误,这时候通过转义符就能够避免这种问题:

<?php
header("Content-type:text/html;charset=utf-8");
echo &#39;网址是:\&#39;https://www.php.cn/\&#39;&#39;;
?>

输出结果:

Methoden und Wiederherstellung von Escape-Strings in PHP (detaillierte Beispiele)

这时候就是我们通过转义符将字符串进行转义,这样的话就能够输出我们想要的结果了。

这种手动进行转义,适用于一些简单的字符串,当字符串很复杂的时候,或者字符串很长,这时候再使用转义字符进行手动转义就有些麻烦了,那有没有什么好的解决方法呢?

在PHP中提供了addslashes() 函数和 stripslashes() 函数能够对字符串进行自动转义,下面就让我们来看一下。

<strong><span style="font-size: 20px;">addslashes() </span></strong>函数-自动转义字符串

PHP中提供addslashes()函数是用来进行自动转义,通过addslashes()函数能够在字符串中的预定义字符之前加入一个反斜杠“”,其中这个预定义字符就包括单引号、双引号和反斜杠。

该函数的基本语法格式如下:

addslashes(string)

其中需要注意的是,参数string表示的就是需要进行转义的字符串,返回的结果就是已经进行转义的字符串。

下面我们通过示例来看一下该函数的使用,示例如下:

<?php
$str = "[&#39;好好学习&#39;=>&#39;天天向上&#39;,&#39;福如东海&#39;=>寿比南山]";
echo $str . "<br>";
$a = addslashes($str);
echo $a . "<br>";
?>

输出结果:

Methoden und Wiederherstellung von Escape-Strings in PHP (detaillierte Beispiele)

可以简单的理解为在需要进行转义的字符前面加上反斜杠,

<strong><span style="font-size: 20px;">stripslashes()</span></strong> 函数-还原字符串

上文中我们说到了在PHP中我们可以通过addslashes() 函数来进行转义操作,也就是在指定的位置添加反斜杠,与之对应的就是stripslashes()函数,它的作用就是用来还原字符串,删除由addslashes

In PHP-Entwicklungsprojekten können Sie derzeit auf viele String-Escape-Vorgänge stoßen. In PHP können wir Escape-Zeichen und -Funktionen verwenden, die automatisches Escape ausführen können. Schauen wir es uns gemeinsam an.

Escape-Zeichen – Zeichenfolgen manuell maskieren

Im vorherigen Artikel haben wir Escape-Zeichen eingeführt, als Escape-Zeichen können wir uns vorstellen Sonderzeichen, die Escape-Effekte ausführen können, beginnen im Allgemeinen mit einem Backslash „“, gefolgt von einem oder mehreren Zeichen. In diesem Fall hat das Escape-Zeichen eine Escape-Bedeutung. Einfach ausgedrückt wird das Escape-Zeichen als Sonderzeichenkonstante behandelt.

Escape-Zeichen können gewöhnliche Zeichen in Sonderzeichen umwandeln und diese Sonderzeichen verwenden, um Zeichen in ihre ursprüngliche Bedeutung umzuwandeln.

Wenn Sie Escape-Zeichen zum Konvertieren einer Zeichenfolge verwenden möchten, ist zu beachten, dass die Zeichenfolge durch einfache oder doppelte Anführungszeichen definiert wird. Wenn die Zeichenfolge Zeichen enthält, die die Definition der Zeichenfolge beeinträchtigen können, werden wir dies tun Möglicherweise störende Zeichen innerhalb der Zeichenfolge müssen maskiert werden, damit Mehrdeutigkeiten in der Definition von conceit vermieden werden können.

Methoden und Wiederherstellung von Escape-Strings in PHP (detaillierte Beispiele)Als nächstes nehmen wir ein Beispiel, um eine Zeichenfolge durch Escape-Zeichen zu maskieren. Das Beispiel sieht wie folgt aus:

🎜Wenn wir ausgeben möchten: Die URL lautet: 'https://www.php.cn/'🎜 Wenn Sie einfach Echo verwenden, um eine Zeichenfolge auszugeben, können die darin enthaltenen Zeichen Auswirkungen auf die endgültige Ausgabe haben Ergebnis verursacht einen Fehler. Dieses Problem kann durch die Verwendung von Escape-Zeichen vermieden werden: 🎜
stripslashes(string)
🎜Ausgabeergebnis: 🎜🎜🎜Methoden und Wiederherstellung von Escape-Strings in PHP (detaillierte Beispiele)🎜🎜Zu diesem Zeitpunkt maskieren wir die Zeichenfolge durch das Escape-Zeichen, damit wir das gewünschte Ergebnis ausgeben können. 🎜🎜Diese Art der manuellen Escape-Funktion eignet sich für einige einfache Zeichenfolgen oder wenn die Zeichenfolge sehr lang ist. Gibt es eine Möglichkeit, sie manuell zu maskieren? Lösung? 🎜🎜🎜Die Funktion addslashes() und die Funktion stripslashes() werden in PHP bereitgestellt, um Strings automatisch zu maskieren. 🎜🎜<strong><span style="max-width:90%">addslashes() </span></strong>Funktion – Zeichenfolgen automatisch maskieren🎜🎜Die in PHP bereitgestellte Funktion addslashes() wird für das automatische Escapen verwendet. Die Funktion addslashes() kann vor vordefinierten Zeichen in der Zeichenfolge eingefügt werden. Ein Backslash „“, wobei dieses vordefinierte Zeichen einfache Anführungszeichen, doppelte Anführungszeichen und Backslashes enthält. 🎜🎜Das grundlegende Syntaxformat dieser Funktion lautet wie folgt: 🎜
<?php
$str = "[&#39;好好学习&#39;=>&#39;天天向上&#39;,&#39;福如东海&#39;=>寿比南山]";
echo $str . "<br>";
$a = addslashes($str);
echo $a . "<br>";
$b = stripslashes($a);
echo $b . "<br>";
?>
🎜Es ist zu beachten, dass die Parameterzeichenfolge die Zeichenfolge darstellt, die maskiert werden muss, und das zurückgegebene Ergebnis die Zeichenfolge ist, die maskiert wurde. 🎜🎜Sehen wir uns die Verwendung dieser Funktion anhand eines Beispiels an. Das Beispiel sieht wie folgt aus: 🎜rrreee🎜Ausgabeergebnis: 🎜🎜🎜Methoden und Wiederherstellung von Escape-Strings in PHP (detaillierte Beispiele)🎜🎜 kann einfach als Hinzufügen eines Backslashs vor den Zeichen verstanden werden, die maskiert werden müssen, 🎜🎜 stripslashes() Funktion -String wiederherstellen🎜🎜Wir haben oben erwähnt, dass wir in PHP die Funktion addslashes() verwenden können, um Escape-Operationen durchzuführen, also einen Backslash an der angegebenen Position hinzuzufügen. und Die entsprechende Funktion ist die Funktion stripslashes(), die zum Wiederherstellen der Zeichenfolge und zum Löschen der durch die Funktion addslashes() hinzugefügten Backslashes verwendet wird. Das grundlegende Syntaxformat der Funktion 🎜🎜stripslashes() lautet wie folgt: 🎜rrreee🎜Es ist zu beachten, dass die Parameterzeichenfolge die Zeichenfolge darstellt, die bearbeitet werden muss, und das zurückgegebene Ergebnis die Zeichenfolge ist, bei der die Backslashes entfernt wurden. 🎜🎜Als nächstes schauen wir uns die Anwendung der Funktion „stripslashes()“ anhand eines Beispiels an. Das Beispiel sieht wie folgt aus: 🎜rrreee🎜Ausgabeergebnis: 🎜🎜🎜🎜🎜

Im obigen Beispiel verwenden wir die Funktion „stripslashes()“, um die von der Funktion „addslashes()“ maskierte Zeichenfolge wiederherzustellen.

Das Escapen und Wiederherstellen von Zeichenfolgen kann über die Funktionen „addslashes()“ und „stripslashes()“ durchgeführt werden.

Bei Interesse können Sie auf „PHP-Video-Tutorial“ klicken, um mehr über PHP-Kenntnisse zu erfahren.

Das obige ist der detaillierte Inhalt vonMethoden und Wiederherstellung von Escape-Strings in PHP (detaillierte Beispiele). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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