首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

一个很简单的匹配有关问题

2012-02-14 
一个很简单的匹配问题-------------文本---------------Name1ABCName2ABCName3ABC-------------文本------

一个很简单的匹配问题
-------------文本---------------

Name1 A B C
Name2 A B C
Name3 A B C

-------------文本---------------


A、B、C是3个随机数字,有时某个数字会为空(即变为 Name1 A C),请问如何才能在任何情况下取到ABC三个位置的值呢?
谢谢!

[解决办法]

PHP code
$s = <<< TXTName1 A B CName2 A  CName3 A B CTXT;preg_match_all('/([ABC]+)\s+([ABC]*)\s+([ABC]*)\s*$/m', $s, $r);print_r($r);
[解决办法]
嘿嘿...

a.php
-------------文本---------------

Name1 11 23 14
Name2 43 33
Name3 30 44 2

-------------文本---------------
b.php

<?php
$file = "a.php"; // 变量赋值
$fp = fopen ( $file, "r" ); // 以只读方式打开文件
$i = 0; // i=0
while ( ! feof ( $fp ) ) { // while循环,条件:没到文件的末端。
$buffer = fgets ( $fp, 4096 ); // fgets() 函数用于从文件中逐行读取文件,,读取的字节数。默认是 1024 字节。
preg_replace ( '/ +/', ' ', $buffer );
preg_match_all ( '/ ([0-9]+)/', $buffer, $matches );
if (! empty ( $matches [1] )) {
print_r ( $matches [1] );
}
$i = $i + 1; // 通过while循环,带动i值递增,实现数组构建。
}
fclose ( $fp ); // 关闭文件。
?>
[解决办法]
其实还有我觉得还有一个比较大的疑问!因为LZ要的是数字和字母,比如:
文本:
Name1:11 32
我最后取出来的是
PHP code
Array(     [0]=11     [1]=     [2]=32) 

热点排行