[英]Regular expression inside HEREDOC string in PHP
我有一个CSV文件,其中包含从我的Web应用程序下载的内容:
Date,Name
2013-10-09T12:11:00+01:00,SomeName
2013-10-09T12:15:00+01:00,OtherName
现在,我正在编写一个Behat方案,以检查下载文件的内容是否正确,因此在我的步骤定义中,我有此HEREDOC字符串,表示应下载的CSV文件:
$expectedData = <<<CSV
Date,Name
2013-10-09T12:11:00+01:00,SomeName
2013-10-09T12:15:00+01:00,OtherName
CSV;
我想做的是用一个正则表达式替换您在$expectedData
字符串中可以看到的日期 ,因为在我的Behat方案中,我不知道下载的文件中将出现什么日期...可以吗?
PS对不起,这个问题的质量,但是我对所有这些语言/工具/框架都是陌生的...
是的,请确保可以使用/m
(MULTILINE)开关完成此操作。 试试这个代码:
$expectedData = <<<CSV
Date,Name
2013-10-09T12:11:00+01:00,SomeName
2013-10-09T12:15:00+01:00,OtherName
CSV;
$re = '/^.+$/'; // some regex here to be placed in 1st column
echo preg_replace('/^(=\d{4}-\d{2}-\d{2})[^,]+/m', $re, $expectedData);
OUTPUT:
Date,Name
/^.+$/,SomeName
/^.+$/,OtherName
$expectedData
值是普通字符串,因此可以将其与str_replace()
或preg_replace()
类的函数一起使用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.