- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在最新的 phpmailer 示例文件中,有以下行:
$body = eregi_replace("[\]",'',$body);
由于我不太擅长正则表达式,所以我无法弄清楚上面的内容是做什么的,以及在编写自己的数据 block 时是否需要使用它 ($body
) .谁能帮我解决这个问题?
编辑
我真的抄对了。这是原始 phpmailer 示例文件中的一整段代码,完全没有改动:
require_once('../class.phpmailer.php');
$mail = new PHPMailer(); // defaults to using php "mail()"
$body = file_get_contents('contents.html');
$body = eregi_replace("[\]",'',$body);
$mail->AddReplyTo("name@yourdomain.com","First Last");
$mail->SetFrom('name@yourdomain.com', 'First Last');
最佳答案
该代码正在删除 $body
中的所有反斜杠。
虽然乍一看可能有点奇怪,但正则表达式是是正确的。当反斜杠位于 POSIX 正则表达式中的括号内时,它不是元字符。
无论如何,这段代码存在各种各样的问题,尤其是因为它应该是一个例子:
ereg
(或 POSIX)系列正则表达式函数之一。最近一半的 PHP 示例应该几乎都使用 preg
(Perl 兼容)系列。eregi
中的 i
),即使它不匹配任何字母,因此大小写无关紧要。最重要的是,替换的实际目的尚不清楚。我只能猜测这是解释 PHP 的 magic quotes 的错误尝试。自动为各种事物添加反斜杠的功能。
需要明确的是,此代码不是处理魔术引号的正确方法,因为它将从$body
中删除所有 反斜杠,甚至是原始输入中存在的“真实”。 stripslashes()
函数正是为这个用例而设计的。或者,由于示例涉及从文件读取,您可以简单地 turn off magic quotes .
关于php - eregi_replace ("[\]",'' ,$data) -- 这一行是做什么的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7706918/
我对PHP的正则表达式不太熟悉 在使用eregi_replace()函数时发现带有()的字符串不能进行替换,看了手册还是糊里糊涂 
在最新的 phpmailer 示例文件中,有以下行: $body = eregi_replace("[\]",'',$body); 由于我不太擅长正则表达式,所以我无法弄清楚上面的内容是做什么的,以及
这个问题在这里已经有了答案: How can I convert ereg expressions to preg in PHP? (4 个答案) 关闭 3 年前。 有谁知道已弃用的 eregi_r
我已经制作了一个 register.php 文件来注册我目前正在 build 的网站。我正在运行 XAMPP 来托管我的网站并在通过付费主机上传之前对其进行测试。在一些视频和在线论坛的帮助下制作 ph
我是一名优秀的程序员,十分优秀!