gpt4 book ai didi

PHP正则表达式

转载 作者:行者123 更新时间:2023-12-03 19:16:07 26 4
gpt4 key购买 nike

以下代码的用途是什么?

preg_replace( '@<(script|style)[^>]*?>.*?</\\1>@si', '', $string );

什么样的$string匹配这个表达式?

为什么会有一个字符@

最佳答案

该正则表达式将匹配任何 <script>...</style><style>...</style>字符串中的 (X)HTML block 并将其删除。这样做很可能是为了防止用户将这些(可能有害的)标签插入到您可能回显给用户的数据中。如果不删除,它们可能允许恶意用户更改您的网站外观,或将 javascript 插入您的网站以重写您的页面内容;他们甚至可能会强制您的用户自动访问其他网站以及许多其他令人讨厌的事情。

至于@ ....定义正则表达式时,它们通常用斜杠括起来,例如:

/regexphere/si

/正则表达式周围指示其边界,第二个斜线后面的字符有正则表达式引擎以某种方式运行的标志。特别是 i表示“不区分大小写”, s意味着 .在表达式中应该匹配空格,如换行符和制表符。这种格式由 PHP 从 Perl 和其他早于它的 unix 实用程序继承而来。

其他字符(如 @|% )可用于替换 /尽管在有很多 / 时避免不必要的转义,但围绕正则表达式在你的模式中。例如,写成 @http://@ 更容易也更易读。比/http:\/\// .在您的模式中,不转义 / 会稍微容易一些。在结束标记中。

关于PHP正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5959825/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com