Работая с контентом небольшая задачка огранизовалась – в файле с таблицей ссылки вида “//” нужно пронумеровать по порядку
“/1/”
“/2/”
“/3/”
и т.д.
и всего таких строк около 150 штук!
Собственно, сваял небольшой скриптик на основе preg-replace-callback позволяющий делать подобную замену
1 2 3 4 5 6 7 |
$file = $argv[1]; if(!$file) exit(); $count = 1; $pattern = ‘!\/\/!’; $text = file_get_contents($file); $text = preg_replace_callback( $pattern , function($match) use (&$count) { $str = “/$count/”; $count++; return $str; } , $text ); echo $text; |
запускаю с командной строки таким образом
php numerator.php infile.php > outfile.php
Доработка – вариант с именованием c дополненными нулями в виде ./001/ ./002/ и т.д.
1 2 3 4 5 6 7 8 9 10 11 12 |
<? $file = $argv[1]; if(!$file) exit(); $count = 0; $pattern = ‘!\/\/!’; $text = file_get_contents($file); $text = preg_replace_callback( $pattern , function($match) use (&$count) { $str = “/$count/”; $count++; return “./”.str_pad($count, 3, “0”, STR_PAD_LEFT).“/”; } , $text ); echo $text; |