怎么写?
我的数据是个人信息集,有很多个人的自我介绍
姓名:AA
自我介绍:adfasdfasdfasdfas
姓名:BB
自我介绍:adfasdfasdfasdfas
姓名:CC
自我介绍:adfasdfasdfasdfas/姓名:(.*)\r\n自我介绍:(.*)/s ???
s放哪里?不能放表达式最后(/s)的吧?
我的数据是个人信息集,有很多个人的自我介绍
姓名:AA
自我介绍:adfasdfasdfasdfas
姓名:BB
自我介绍:adfasdfasdfasdfas
姓名:CC
自我介绍:adfasdfasdfasdfas/姓名:(.*)\r\n自我介绍:(.*)/s ???
s放哪里?不能放表达式最后(/s)的吧?
您可以试试看:
$str="姓名:AA\r\n自我介绍:adfasd\r\nfasdfasdfas\r\n姓名:BB\r\n自我介绍:1111111111111\r\n222222222\r\n姓名:CC\r\n自我介绍:a33333\r\nfasdfa";
if (preg_match_all("/姓名:(.*)\r\n自我介绍:(.*)/s",$str,$out)){
print_r($out);
}
结果是:
Array
(
[0] => Array
(
[0] => 姓名:AA
自我介绍:adfasd
fasdfasdfas
姓名:BB
自我介绍:1111111111111
222222222
姓名:CC
自我介绍:a33333
fasdfa
) [1] => Array
(
[0] => AA
自我介绍:adfasd
fasdfasdfas
姓名:BB
自我介绍:1111111111111
222222222
姓名:CC
) [2] => Array
(
[0] => a33333
fasdfa
))
(
[0] => 姓名:AA
自我介绍:adfasd
fasdfasdfas
姓名:BB
自我介绍:1111111111111
222222222
姓名:CC
自我介绍:a33333
fasdfa
)
你这不就是匹配多行了吗?
但是我的内容结构是:数据包含N个人物信息,每个人物信息包含姓名和自我介绍
要求:将各个人物的信息提取出来而你这样就是将整个原始数据匹配出来嘛,不过我已经将上面的格式匹配出来了
/姓名:(.[^(自我介绍)]*)\r\n自我介绍:(.[^(姓名:)]*)/s但是实际上我的结构更复杂,还在试验中,无论如何谢谢你啊