【发布时间】:2017-08-15 17:48:58
【问题描述】:
我将以下内容存储在 mysql 数据库中:
%URL% https://google.com
%TEXT% Hello world!
%LARGETEXT% Hello
My name is ...
I am from ...
我的目标是将包含在 % 中的字符串转换为 PHP 数组键,除此之外的字符串就是值。
问题是,我的正则表达式没有提取多行字符串。
代码如下:
preg_match_all ("/%(\w+)%(.*)/", $msg, $matches);
它确实输出:
[1]=>
array(3) {
[0]=>
string(5) "BASIC"
[1]=>
string(4) "TEXT"
[2]=>
string(9) "LARGETEXT"
}
[2]=>
array(3) {
[0]=>
string(18) " https://google.de"
[1]=>
string(13) " Hello world!"
[2]=>
string(6) " Hello"
}
在第二个数组中只显示“Hello”,而不是:
Hello
My name is ...
I am from ...
我尝试了各种正则表达式,但我总是得到相同的结果。
【问题讨论】:
标签: php regex preg-match-all