PHP заменяет всю строку, если она содержит целое число - PullRequest
2 голосов
/ 15 августа 2010

Мой скрипт выводит список файлов в каталоге. Я могу использовать preg_match и regex для поиска файлов, имена файлов которых содержат целые числа.

Однако я не могу этого сделать: я хочу, чтобы вся строка была пропущена, если она содержит целое число.

Несмотря на попытки нескольких методов, я могу заменить только целое число, а не всю строку. Любая помощь будет оценена.

Ответы [ 2 ]

6 голосов
/ 15 августа 2010
if (preg_match('/\d/', $string))
    $string = "";

Это превратит строку в пустую, если в ней есть какой-либо номер.

0 голосов
/ 16 августа 2010

Согласно вашему описанию, это должно быть что-то.например:

$files = array();

$dirname = 'C://Temp';
$dh = opendir($dirname) or die();

while( ($fn=readdir($dh)) !== false ) 
    if( !preg_match('/\d+|^\.\.?$/', $fn) )
       $files[] = $fn;

closedir($dh);

var_dump($files);

... который считывает все имена файлов и сохраняет их (кроме чисел и ../.) в массиве '$ files', который сам отображается в концеотрезал выше.Если это не соответствует вашим требованиям, вам следует дать более подробное объяснение того, что вы пытаетесь сделать

С уважением

rbo

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...