我在记事本一行一个的存了N个类似142839 这样的数字请问怎么才可以写个PHP 文件 批量把 记事本的 142839 这样的数字 转换成 book/142/142839/142839.zip
142839
142838
142837
142836
142835
142834要变成
book/142/142839/142839.zip
book/142/142838/142838.zip
book/142/142837/142837.zip
book/142/142836/142836.zip
book/142/142835/142835.zip
数字还有可能只有5位 ( 那 中间部分就只是前2位)
14281
14282
14283
14284
14285
14286要变成
book/14/14281/14281.zip
book/14/14282/14282.zip
book/14/14283/14283.zip
book/14/14284/14284.zip
book/14/14285/14285.zip
142839
142838
142837
142836
142835
142834要变成
book/142/142839/142839.zip
book/142/142838/142838.zip
book/142/142837/142837.zip
book/142/142836/142836.zip
book/142/142835/142835.zip
数字还有可能只有5位 ( 那 中间部分就只是前2位)
14281
14282
14283
14284
14285
14286要变成
book/14/14281/14281.zip
book/14/14282/14282.zip
book/14/14283/14283.zip
book/14/14284/14284.zip
book/14/14285/14285.zip
$str = 'book/'. (strlen('字符串') == 5)? substr('字符串', 0, 2) : substr('字符串', 0, 3) . '/' . 字符串 . '/' 字符串 . '/' 字符串 . '.zip';
print_r(array_map("tihuan",$arr));
function tihuan($a) {
$a = trim($a);
return preg_replace("/^(.*)(\d{3})/","book/\\1/$a/$a.zip",$a);
}
$arr = file("1.txt");
print_r(array_map("tihuan",$arr));
function tihuan($a) {
$a = trim($a);
$b=strlen('$a');
if($b == 5)
{
return preg_replace("/^(.*)(\d{4})/","book/\\1/$a/$a.zip",$a);
}
else
return preg_replace("/^(.*)(\d{3})/","book/\\1/$a/$a.zip",$a);
}
?>
这样才可以把 book/23/23456/23456.zip 这样的字符串一行一个 存在 另一个文本文件里。
<?php$s=149939;
$id=intval($s/1000);
echo "book/$id/$s/$s.zip";
$s=14993;
$id=intval($s/1000);
echo "book/$id/$s/$s.zip";?>