>  기사  >  백엔드 개발  >  PHP는 백슬래시 인용 문자열을 재귀적으로 구현하는 메소드를 추가합니다.

PHP는 백슬래시 인용 문자열을 재귀적으로 구현하는 메소드를 추가합니다.

WBOY
WBOY원래의
2016-07-25 08:57:031054검색
本文介绍下,php利用递归实现使用反斜线引用字符串的方法,通过一个例子,帮助大家的理解。

php addslashes 递归反斜线引用字符串,代码如下:

<?php
//addslashes递归
function addslashes_deep($value)
{
//史上最经典的递归,一行搞定
return is_array($value) ? array_map('addslashes_deep', $value) : 

addslashes($value);
}

//测试数据
$_POST['STR'] = "'fanglor ' is \ a  boy  >'";
$_GET['STR1'] = 'fanglor " is \ a  boy  >';

echo '当前get_magic_quotes_gpc为  '.get_magic_quotes_gpc();
echo "<br/>";

//判断当前是否开启get_magic_quotes_gpc
//by bbs.it-home.org
if (!get_magic_quotes_gpc()){
$_POST = addslashes_deep($_POST);
$_GET = addslashes_deep($_GET);
$_COOKIE = addslashes_deep($_COOKIE);
}

//打印结果
var_dump ($_POST);
echo "<br/>";
var_dump ($_GET);
?>

打印结果:

当前get_magic_quotes_gpc为 0 array(1) { ["STR"]=> string(30) "'fanglor ' is \ a boy >'" } array(1) { ["STR1"]=> string(26) "fanglor " is \ a boy >" }


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