0

所以基本上我正在打开一个大文件(我认为它很大 - 19MB)并试图梳理任何不是 4 个字母的 .com 并在今天从注册表中删除的内容。所以我在下面要做的是调出文件,并为其中的每一行查找字符串中的日期和 35 个或更少的字符(在剥离字符之前)。

然后我希望它检查它是否是一个 .com,它没有 digets 并且不包含连字符。

我错过了什么?

<?php

date_default_timezone_set('UTC');

$extension = '.com';
$lines = file('PoolDeletingDomainsList.txt');
//$lines = file('testdomains.txt');
$date = date('n/j/Y');

echo "<b>4 Letter premiums for ". $date .":</b><br />";

foreach($lines as $line)

if ((false !== strpos($line,$date)) && (35 <= strlen($line))) {

  $line = preg_replace('/12:00:00 AM,AUC\b/','<br />', $line);
  $line = preg_replace('/,9\/28\/2013/', '', $line);

  if ((false !== strpos($line, $extension)) && (0 === preg_match('#\d#',$line)) && (0 === preg_match('/-/', $line))){
    echo $line;
}
}
?>
4

1 回答 1

1

如果您想要 35 个字符或更少(35 >= strlen($line)的行,请尝试。就个人而言,我更喜欢以相反的方式进行比较,例如,我认为它更具可读性并避免像你刚刚犯的那样的错误:)(35 <= strlen($line)strlen($line) <= 35

于 2013-09-28T18:57:15.460 回答