>  기사  >  백엔드 개발  >  PHP에서 이스케이프된 문자열을 복원하는 방법 및 복원(자세한 예)

PHP에서 이스케이프된 문자열을 복원하는 방법 및 복원(자세한 예)

WBOY
WBOY원래의
2021-11-04 14:07:276142검색

이전 글 "PHP에서 JSON 인코딩 및 디코딩(자세한 예)"에서 PHP에서 배열과 문자열을 사용하여 JSON을 인코딩하고 디코딩하는 방법에 대해 자세히 소개했습니다. 이 글이 여러분에게 도움이 되기를 바랍니다. PHP에서 문자 이스케이프에 대한 관련 지식이 있습니다!

PHP에서 이스케이프된 문자열을 복원하는 방법 및 복원(자세한 예)

이전 글에서는 json_encode() 함수와 json_decode() 함수를 통해 PHP 데이터를 인코딩하고 디코딩할 수 있다는 것을 배웠습니다. PHP에서 문자열을 이스케이프하는 방법을 살펴보세요. 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;;
?>

输出结果:

PHP에서 이스케이프된 문자열을 복원하는 방법 및 복원(자세한 예)

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

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

在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>";
?>

输出结果:

PHP에서 이스케이프된 문자열을 복원하는 방법 및 복원(자세한 예)

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

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

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

PHP 개발 프로젝트에서 많은 문자열 이스케이프 작업을 접할 수 있습니다. 이때 문자열을 이스케이프하는 방법은 무엇입니까? PHP에서는 자동 이스케이프를 수행할 수 있는 함수를 사용할 수 있습니다. 함께 살펴보겠습니다.

이스케이프 문자 - 수동으로 이스케이프 문자열

이전 글에서 이스케이프 문자를 소개했는데, 이스케이프 문자는 다음과 같이 간주될 수 있습니다. 이스케이프 효과를 수행할 수 있는 특수 문자입니다. 이스케이프 문자는 일반적으로 백슬래시 ""로 시작하고 그 뒤에 하나 이상의 문자가 옵니다. 간단히 말해서 이스케이프 문자는 특수 문자 상수로 처리됩니다.

이스케이프 문자는 일반 문자를 특수 용도로 변환할 수 있으며, 이러한 특수 용도를 사용하여 문자를 원래 의미로 변환할 수 있습니다.

문자열을 변환하기 위해 이스케이프 문자를 사용하려는 경우 문자열은 작은따옴표나 큰따옴표를 사용하여 정의된다는 점에 유의해야 합니다. 문자열에 문자열 정의를 방해할 수 있는 문자가 있으면 다음을 수행합니다. 자만 정의의 모호함을 피할 수 있도록 문자열 내에서 간섭할 수 있는 문자를 이스케이프해야 합니다.

PHP에서 이스케이프된 문자열을 복원하는 방법 및 복원(자세한 예)다음으로 문자를 이스케이프하여 문자열을 이스케이프하는 예를 들어보겠습니다.

🎜 출력하려는 ​​경우: URL은 'https://www.php.cn/'🎜 단순히 echo를 사용하여 문자열을 출력하면 그 안에 있는 문자가 최종 출력에 영향을 줄 수 있습니다. 결과로 인해 오류가 발생합니다. 이스케이프 문자를 사용하면 이 문제를 피할 수 있습니다. 🎜
stripslashes(string)
🎜출력 결과: 🎜🎜🎜PHP에서 이스케이프된 문자열을 복원하는 방법 및 복원(자세한 예)🎜🎜이때, 원하는 결과를 출력할 수 있도록 이스케이프 문자를 통해 문자열을 이스케이프 처리합니다. 🎜🎜이런 종류의 수동 이스케이프는 일부 간단한 문자열에 적합합니다. 문자열이 매우 복잡하거나 문자열이 매우 긴 경우 이스케이프 문자를 사용하여 수동으로 이스케이프하는 것이 약간 번거로울 수 있습니다. 해결책? 🎜🎜🎜PHP에서는 문자열을 자동으로 이스케이프 처리하기 위해 addslashes() 함수와 stripslashes() 함수가 제공됩니다. 🎜🎜<strong><span style="max-width:90%">슬래시 추가() </span></strong>함수 - 문자열 자동 이스케이프🎜🎜PHP에서 제공하는 addlashes() 함수는 자동 이스케이프에 사용됩니다. addlashes() 함수는 문자열에서 미리 정의된 문자 앞에 추가할 수 있습니다. 백슬래시 "", 여기서 미리 정의된 문자에는 작은따옴표, 큰따옴표 및 백슬래시가 포함됩니다. 🎜🎜이 함수의 기본 구문 형식은 다음과 같습니다. 🎜
<?php
$str = "[&#39;好好学习&#39;=>&#39;天天向上&#39;,&#39;福如东海&#39;=>寿比南山]";
echo $str . "<br>";
$a = addslashes($str);
echo $a . "<br>";
$b = stripslashes($a);
echo $b . "<br>";
?>
🎜매개변수 문자열은 이스케이프해야 하는 문자열을 나타내고 반환된 결과는 이스케이프된 문자열이라는 점에 유의해야 합니다. 🎜🎜예제를 통해 이 기능의 사용법을 살펴보겠습니다. 🎜rrreee🎜출력 결과: 🎜🎜🎜PHP에서 이스케이프된 문자열을 복원하는 방법 및 복원(자세한 예)🎜🎜는 간단히 이스케이프해야 하는 문자 앞에 백슬래시를 추가하는 것으로 이해될 수 있습니다. 🎜🎜 stripslashes() 함수 -문자열 복원🎜🎜위에서 PHP에서 addslashes() 함수를 사용하여 이스케이프 작업을 수행할 수 있다고 언급했습니다. 즉, 지정된 위치에 백슬래시를 추가합니다. 해당 함수는 문자열을 복원하고 addslashes() 함수에 의해 추가된 백슬래시를 삭제하는 데 사용되는 stripslashes() 함수입니다. 🎜🎜stripslashes() 함수의 기본 구문 형식은 다음과 같습니다. 🎜rrreee🎜 매개변수 문자열은 연산이 필요한 문자열을 나타내며, 반환된 결과는 백슬래시가 제거된 문자열이라는 점에 유의해야 합니다. 🎜🎜다음으로 예제를 통해 Stripslashes() 함수의 적용을 살펴보겠습니다. 🎜rrreee🎜출력 결과: 🎜🎜🎜🎜🎜

위의 예를 통해 우리는 addlashes() 함수에 의해 이스케이프된 문자열을 복원하기 위해 Stripslashes() 함수를 사용합니다.

addlashes() 함수와 Stripslashes() 함수를 통해 문자열의 이스케이프 및 복원을 완료할 수 있습니다.

관심이 있으시면 "PHP 비디오 튜토리얼"을 클릭하여 PHP 지식에 대해 자세히 알아볼 수 있습니다.

위 내용은 PHP에서 이스케이프된 문자열을 복원하는 방법 및 복원(자세한 예)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.