草庐IT

Escaping

全部标签

php - 如何在 PHP 中替换/转义 U+2028 或 U+2029 字符以阻止我的 JSONP API 中断

好的,我正在运行一个公共(public)JSONPAPI,数据由我的PHP服务器提供。我刚读了这篇文章:JSON:TheJavaScriptsubsetthatisn't(byMagnusHolm;May2011)(请阅读说明)基本上,如果我的JSON字符串包含U+2028字符(Unicode行分隔符)或U+2029字符(Unicode段落分隔符),那么这是完全有效的JSON。但是,当使用JSONP时,JSON将作为JavaScript执行,并且JavaScript中的任何字符串都不能包含文字U+2028或U+2029,因为它会破坏JavaScript。显然,只要您使用正确的JSON解

php - 应该在正则表达式中转义哪些文字字符?

我刚刚编写了一个正则表达式,用于php函数preg_match,其中包含以下部分:[\w-.]匹配任何单词字符,以及减号和点。虽然它似乎在preg_match中工作,但我尝试将它放入一个名为Reggy的实用程序中。它提示“char类中的空范围”。反复试验告诉我,这个问题是通过转义减号,将正则表达式变成来解决的[\w\-.]既然原来的似乎在PHP中工作,我想知道为什么我应该或不应该转义减号,并且-因为点也是PHP中具有含义的字符-为什么我不需要转义点。我使用的实用程序是不是很傻,它是在使用另一种正则表达式方言还是我的正则表达式真的不正确,我只是幸运preg_match让我侥幸逃脱?

php - 应该在正则表达式中转义哪些文字字符?

我刚刚编写了一个正则表达式,用于php函数preg_match,其中包含以下部分:[\w-.]匹配任何单词字符,以及减号和点。虽然它似乎在preg_match中工作,但我尝试将它放入一个名为Reggy的实用程序中。它提示“char类中的空范围”。反复试验告诉我,这个问题是通过转义减号,将正则表达式变成来解决的[\w\-.]既然原来的似乎在PHP中工作,我想知道为什么我应该或不应该转义减号,并且-因为点也是PHP中具有含义的字符-为什么我不需要转义点。我使用的实用程序是不是很傻,它是在使用另一种正则表达式方言还是我的正则表达式真的不正确,我只是幸运preg_match让我侥幸逃脱?

php - 禁用 "magic quotes"后,为什么 PHP/WordPress 继续自动转义我的 POST 数据?

这是一个简单的问题,却有一个奇怪的难以捉摸的答案。get_magic_quotes_gpc()报告0。我再说一遍,魔术引号已关闭。php.ini中似乎禁用了魔术引号(不是在运行时)。尽管如此,在PHP中访问时,包括单引号(')在内的所有POST数据都会被转义。这可能是什么原因造成的?在准备测试用例时,我发现了问题的一般根源。我们正在引导WordPress,因为我们的应用程序与WordPress多站点安装集成。当我禁用WordPress引导时,自动转义被禁用。WordPress的自动转义码在哪里? 最佳答案 我想我找到了。问题(错误)

php - 禁用 "magic quotes"后,为什么 PHP/WordPress 继续自动转义我的 POST 数据?

这是一个简单的问题,却有一个奇怪的难以捉摸的答案。get_magic_quotes_gpc()报告0。我再说一遍,魔术引号已关闭。php.ini中似乎禁用了魔术引号(不是在运行时)。尽管如此,在PHP中访问时,包括单引号(')在内的所有POST数据都会被转义。这可能是什么原因造成的?在准备测试用例时,我发现了问题的一般根源。我们正在引导WordPress,因为我们的应用程序与WordPress多站点安装集成。当我禁用WordPress引导时,自动转义被禁用。WordPress的自动转义码在哪里? 最佳答案 我想我找到了。问题(错误)

php - Blade : escaping text and allowing new lines

我在其中一页上显示了用户输入的文本。不过,我想允许换行。如何显示文本,使其转义并且允许换行?我用过nl2br()和Blade的三重支架{{{$text}}},但是,很明显,三方括号会转义标签也是。有没有办法使用Blade结合转义和HTML的新行?谢谢。 最佳答案 你可以先进行转义,使用e()然后应用nl2br():{{nl2br(e($text))}}e()是Blade在编译三方括号时使用的函数 关于php-Blade:escapingtextandallowingnewlines,我们

php - Blade : escaping text and allowing new lines

我在其中一页上显示了用户输入的文本。不过,我想允许换行。如何显示文本,使其转义并且允许换行?我用过nl2br()和Blade的三重支架{{{$text}}},但是,很明显,三方括号会转义标签也是。有没有办法使用Blade结合转义和HTML的新行?谢谢。 最佳答案 你可以先进行转义,使用e()然后应用nl2br():{{nl2br(e($text))}}e()是Blade在编译三方括号时使用的函数 关于php-Blade:escapingtextandallowingnewlines,我们

php - mysql_escape_string VS mysql_real_escape_string

我知道mysql_escape_string已从5.3中弃用,但mysql_real_escape_string的实际区别是什么。我认为mysql_real_escape_string与mysql_escape_string完全相同,除了mysql_real_escape_string为mysql资源采用第二个参数。然后我想,在处理字符串的方式上肯定存在一些差异,因为不需要2个函数。然后我认为差异完全取决于语言环境和字符编码? 最佳答案 不同之处在于mysql_escape_string只是将字符串视为原始字节,并在它认为合适的地方

php - mysql_escape_string VS mysql_real_escape_string

我知道mysql_escape_string已从5.3中弃用,但mysql_real_escape_string的实际区别是什么。我认为mysql_real_escape_string与mysql_escape_string完全相同,除了mysql_real_escape_string为mysql资源采用第二个参数。然后我想,在处理字符串的方式上肯定存在一些差异,因为不需要2个函数。然后我认为差异完全取决于语言环境和字符编码? 最佳答案 不同之处在于mysql_escape_string只是将字符串视为原始字节,并在它认为合适的地方

php - mysql_real_escape_string() 坏了吗?

有些人认为mysql_real_escape_string()有一些缺陷,即使正确使用也无法保护您的查询。带来一些fossilizedarticles作为证明。那么,问题来了:mysql[i]_realescape_string()完全不能接受吗?或者仍然可以使用这个函数来创建你自己的预处理语句?请提供验证码。 最佳答案 来自MySQL’sCAPIfunctionmysql_real_escape_stringdescription:Ifyouneedtochangethecharactersetoftheconnection,yo