2005年03月11日 11:38:45 幼园 孙琼 [7486] 提交直接上级评价 2005年03月09日 08:59:46 党委 党委工作部 [9999] 退签考核表 2005年03月02日 09:49:59 幼园 孙琼 [7486] 提交直接上级评价 2005年03月01日 15:13:39 幼园 李华 [0317] 提交目标完成情况 2005年02月02日 09:33:25 幼园 李华 [0317] 提交考核表 2005年02月02日 09:32:31 幼园 李华 [0317] 填写考核表上面一段字符串,<?php $int=preg_match_all("|\d{4}年\d{2}月\d{2}日 \d{2}:\d{2}:\d{2}[\n.]*|U", $str, $aTmp);?>
[\n.]这里为什么匹配不到中文呢?只能得到2005年03月11日 11:38:45和2005年03月09日 08:59:46。
[\n.]这里为什么匹配不到中文呢?只能得到2005年03月11日 11:38:45和2005年03月09日 08:59:46。
我相信你写[\n.]是想等价于\s\S的
所以就换了他吧
print_r($res);
结果如下,,可以吗?Array
(
[0] =>
[1] => 2005年03月11日 11:38:45
[2] => 幼园 孙琼 [7486] 提交直接上级评价
[3] => 2005年03月09日 08:59:46
[4] => 党委 党委工作部 [9999] 退签考核表
[5] => 2005年03月02日 09:49:59
[6] => 幼园 孙琼 [7486] 提交直接上级评价
[7] => 2005年03月01日 15:13:39
[8] => 幼园 李华 [0317] 提交目标完成情况
[9] => 2005年02月02日 09:33:25
[10] => 幼园 李华 [0317] 提交考核表
[11] => 2005年02月02日 09:32:31
[12] => 幼园 李华 [0317] 填写考核表
)
echo出这个字符串时,也看不出有换行符来,也没有自动换行。
而使用management studio的查看前1000行时得不到
如果使用management studo的编辑前200行,就能得到换行符了(复制后,粘贴到记事本上)
exit;这里打印出来的字符串不会换行。
1,有N种模式可匹配所有字符:如[\s\S]
2,一般情况下都.是不匹配换行的.必的话要加m标识
3,换行符在html中是不能换行,html中换行要用<br><p>或其他,但用编辑器,是能正确换行
echo nl2br("测试\n再没放工");
exit;