define('PREG_FIND_RECURSIVE', 1); define('PREG_FIND_DIRMATCH', 2); define('PREG_FIND_FULLPATH', 4); define('PREG_FIND_NEGATE', 8); define('PREG_FIND_DIRONLY', 16); define('PREG_FIND_RETURNASSOC', 32); define('PREG_FIND_SORTDESC', 64); define('PREG_FIND_SORTKEYS', 128); define('PREG_FIND_SORTBASENAME', 256); # requires PREG_FIND_RETURNASSOC define('PREG_FIND_SORTMODIFIED', 512); # requires PREG_FIND_RETURNASSOC define('PREG_FIND_SORTFILESIZE', 1024); # requires PREG_FIND_RETURNASSOC define('PREG_FIND_SORTDISKUSAGE', 2048); # requires PREG_FIND_RETURNASSOC // PREG_FIND_RECURSIVE - go into subdirectorys looking for more files // PREG_FIND_DIRMATCH - return directorys that match the pattern also // PREG_FIND_DIRONLY - return only directorys that match the pattern (no files) // PREG_FIND_FULLPATH - search for the pattern in the full path (dir+file) // PREG_FIND_NEGATE - return files that don't match the pattern // PREG_FIND_RETURNASSOC - Instead of just returning a plain array of matches, // return an associative array with file stats // // You can also request to have the results sorted based on various criteria // By default if any sorting is done, it will be sorted in ascending order. // You can reverse this via use of: // PREG_FIND_SORTDESC - Reverse order of sort // PREG_FILE_SORTKEYS - Sort on the keyvalues or non-assoc array results // The following sorts *require* PREG_FIND_RETURNASSOC to be used as they are // sorting on values stored in the constructed associative array // PREG_FIND_SORTBASENAME - Sort the results in alphabetical order on filename // PREG_FIND_SORTMODIFIED - Sort the results in last modified timestamp order // PREG_FIND_SORTFILESIZE - Sort the results based on filesize // PREG_FILE_SORTDISKUSAGE - Sort based on the amount of disk space taken // to use more than one simply seperate them with a | character // Search for files matching $pattern in $start_dir. // if args contains PREG_FIND_RECURSIVE then do a recursive search // return value is an associative array, the key of which is the path/file // and the value is the stat of the file. Function preg_find($pattern, $start_dir='.', $args=NULL) { static $depth = -1; ++$depth; $files_matched = array(); $fh = opendir($start_dir); while (($file = readdir($fh)) !== false) { if (strcmp($file, '.')==0 || strcmp($file, '..')==0) continue; $filepath = $start_dir . '/' . $file; if (preg_match($pattern, ($args & PREG_FIND_FULLPATH) ? $filepath : $file)) { $doadd = is_file($filepath) || (is_dir($filepath) && ($args & PREG_FIND_DIRMATCH)) || (is_dir($filepath) && ($args & PREG_FIND_DIRONLY)); if ($args & PREG_FIND_DIRONLY && $doadd && !is_dir($filepath)) $doadd = false; if ($args & PREG_FIND_NEGATE) $doadd = !$doadd; if ($doadd) { if ($args & PREG_FIND_RETURNASSOC) { // return more than just the filenames $fileres = array(); if (function_exists('stat')) { $fileres['stat'] = stat($filepath); $fileres['du'] = $fileres['stat']['blocks'] * 512; } if (function_exists('fileowner')) $fileres['uid'] = fileowner($filepath); if (function_exists('filegroup')) $fileres['gid'] = filegroup($filepath); if (function_exists('filetype')) $fileres['filetype'] = filetype($filepath); if (function_exists('mime_content_type')) $fileres['mimetype'] = mime_content_type($filepath); if (function_exists('dirname')) $fileres['dirname'] = dirname($filepath); if (function_exists('basename')) $fileres['basename'] = basename($filepath); if (isset($fileres['uid']) && function_exists('posix_getpwuid')) $fileres['owner'] = posix_getpwuid ($fileres['uid']); $files_matched[$filepath] = $fileres; } else array_push($files_matched, $filepath); } } if ( is_dir($filepath) && ($args & PREG_FIND_RECURSIVE) ) { $files_matched = array_merge($files_matched, preg_find($pattern, $filepath, $args)); } } closedir($fh); // Before returning check if we need to sort the results. if (($depth==0) && ($args & (PREG_FIND_SORTKEYS|PREG_FIND_SORTBASENAME|PREG_FIND_SORTMODIFIED|PREG_FIND_SORTFILESIZE|PREG_FIND_SORTDISKUSAGE)) ) { $order = ($args & PREG_FIND_SORTDESC) ? 1 : -1; $sortby = ''; if ($args & PREG_FIND_RETURNASSOC) { if ($args & PREG_FIND_SORTMODIFIED) $sortby = "['stat']['mtime']"; if ($args & PREG_FIND_SORTBASENAME) $sortby = "['basename']"; if ($args & PREG_FIND_SORTFILESIZE) $sortby = "['stat']['size']"; if ($args & PREG_FIND_SORTDISKUSAGE) $sortby = "['du']"; } $filesort = create_function('$a,$b', "\$a1=\$a$sortby;\$b1=\$b$sortby; if (\$a1==\$b1) return 0; else return (\$a1<\$b1) ? $order : 0- $order;"); uasort($files_matched, $filesort); } --$depth; return $files_matched; } ?>
|
|---|
Referring expressions - VerwijswoordenPronominal adverbs - Voornaamwoordelijke bijwoordenCharacteristics
Pronominal adverbs and pronouns Behaviour of pronominal adverbs in the sentence Categories of pronominal adverbs A pronominal adverb is an >>adverb in form and a >pronoun in function. It is an adverb in form, because it consists of an >>adverb of place. This adverb of place is combined with a >>preposition. The preposition in question is part of a >>phrasal verb. Preposition + pronominal adverb are often the >>prepositional object of the phrasal verb. It is a pronoun in function, because it stands in the place of a >>noun. The >antecedent of a pronominal adverb is an inanimate object, i.e. not a human being (or an animal). The antecedents in examples 1-4 above are respectively: 260 duizend euro entreegeld, hun grond, een eerste gesprek met de formateur and een brief. Click >here to find out what happens when the antecendent is a human being. Look at the following examples, all taken from different news bulletins. The words printed in bold (hier, er, daar, waar) are all examples of pronominal adverbs:
Pronominal adverbs and pronouns There is a clear correspondence between ‘normal' verbs and pronouns on the on hand, and phrasal verbs and pronominal adverbs on the other hand. This can be illustrated by means of two verbs with the same meaning, one of which a >>transitive verb, the other a phrasal verb, e.g. bespreken ('discuss') and praten over ('talk about', i.e. 'discuss'). Consider the following comment that could be made in a popular radio phone-in programme:
The first example contains the verb bespreken and the demonstrative pronoun dat to refer back to het probleem van de werkloosheid. The second example contains the phrasal ver praten over and the demonstrative pronominal adverb daarover to refer back to het probleem van de werkloosheid. Behaviour of pronominal adverbs in the sentence There are two things to note about the behaviour of pronominal adverbs: Pronominal adverb and preposition do not necessarily stand next to each other. When they are split up, the preposition occurs towards the end of the clause. Where pronominal adverb and a preposition occur together, they can normally be written as one word:
There are three prepositions whose forms change when occurring as part of a pronominal adverb:
- uit / van becomes vandaan - met becomes mee
Note: naartoe and vandaan only occur when they express direction (i.e. when they are used in combination with the verbs gaan and komen or other verbs expressing motion). In other combinations, e.g. with kijken naar, the preposition does not change: Waar kijk je naar? Ik kijk naar het nieuws. Categories of pronominal adverbs There are five categories of pronominal adverbs: >personal and demonstrative>interrogative >relative >indefinite Back to home.
|