$resourceData[__novel_chapters__]) { $resourceData[__novel_chapters__] = getData($resourceDirPath, __novel_chapters__); } $resultReplace[$k] = getArrayRandToString($resourceData[__novel_titles__]); } if ($v == ___RANDOM_COLUMN__) { if (!$resourceData[__columns__]) { $resourceData[__columns__] = getData($resourceDirPath, __columns__); } $resultReplace[$k] = getArrayRandToString($resourceData[__columns__]); } if ($v == __RANDOM_NICK_NAME__) { if (!$resourceData[__nick_names__]) { $resourceData[__nick_names__] = getData($resourceDirPath, __nick_names__); } $resultReplace[$k] = getArrayRandToString($resourceData[__nick_names__]); } if ($v == __RANDOM_SIGN__) { if (!$resourceData[__signs__]) { $resourceData[__signs__] = getData($resourceDirPath, __signs__); } $resultReplace[$k] = getArrayRandToString($resourceData[__signs__]); } if ($v == __RANDOM_COMMENT__) { if (!$resourceData[__comments__]) { $resourceData[__comments__] = getData($resourceDirPath, __comments__); } $resultReplace[$k] = getArrayRandToString($resourceData[__comments__]); } if ($v == __RANDOM_INTRODUCE__) { if (!$resourceData[__introductions__]) { $resourceData[__introductions__] = getData($resourceDirPath, __introductions__); } $resultReplace[$k] = getArrayRandToString($resourceData[__introductions__]); } if ($v == __RANDOM_DYNASTY__) { if (!$resourceData[__dynasty__]) { $resourceData[__dynasty__] = getData($resourceDirPath, __dynasty__); } $resultReplace[$k] = getArrayRandToString($resourceData[__dynasty__]); } if ($v == __RANDOM_LINKS__) { if (!$resourceData[__links__]) { $resourceData[__links__] = getData($resourceDirPath, __links__); } $resultReplace[$k] = getArrayRandToString($resourceData[__links__]); } if ($v == __RANDOM_AVATAR__) { if (!$resourceData[__avatars__]) { $resourceData[__avatars__] = getData($resourceDirPath, __avatars__, true); } $resultReplace[$k] = getArrayRandToString($resourceData[__avatars__]); } if ($v == __RANDOM_IMG__) { if (!$resourceData[__images__]) { $resourceData[__images__] = getData($resourceDirPath, __images__, true); } $resultReplace[$k] = getArrayRandToString($resourceData[__images__]); } if ($v == __RANDOM_LOGO__) { if (!$resourceData[__logos__]) { $resourceData[__logos__] = getData($resourceDirPath, __logos__, true); } $resultReplace[$k] = getArrayRandToString($resourceData[__logos__]); } if (hasRepeatMatch(__RANDOM_POEMS__, $v)) { if (!$resourceData[__poems__]) { $resourceData[__poems__] = getData($resourceDirPath, __poems__); } setRepeatData($resultReplace, $resourceDirPath, $resourceData[__poems__], __poems__, $k, $number); } if (hasRepeatMatch(__RANDOM_IDIOMS__, $v)) { if (!$resourceData[__idioms__]) { $resourceData[__idioms__] = getData($resourceDirPath, __idioms__); } setRepeatData($resultReplace, $resourceDirPath, $resourceData[__idioms__], __idioms__, $k, $number); } if (hasRepeatMatch(__RANDOM_SENTENCE__, $v)) { if (!$resourceData[__sentences__]) { $resourceData[__sentences__] = getData($resourceDirPath, __sentences__); } setRepeatData($resultReplace, $resourceDirPath, $resourceData[__sentences__], __sentences__, $k, $number); } if (hasRepeatMatch(__RANDOM_KEY_WORDS__, $v)) { if (!$resourceData[__key_words__]) { $resourceData[__key_words__] = getData($resourceDirPath, __key_words__); } setRepeatData($resultReplace, $resourceDirPath, $resourceData[__key_words__], __key_words__, $k, $number); } if (hasRepeatMatch(__RANDOM_PIN_YIN__, $v)) { if (!$resourceData[__pin_yin__]) { $resourceData[__pin_yin__] = getData($resourceDirPath, __pin_yin__); } setRepeatData($resultReplace, $resourceDirPath, $resourceData[__pin_yin__], __pin_yin__, $k, $number); } } unset($resourceData); return [ 'result' => $result, 'resultReplace' => $resultReplace, ]; } /** * @param $title * @return string */ function setVersion($title) { if (strpos($title, '下载') !== false || strpos(strtolower($title), 'app') !== false) { if (!preg_match('/v\d/i', $title)) { return $title . '_V' . mt_rand(1, 9) . '.' . mt_rand(0, 9) . mt_rand(0, 9) . '.' . mt_rand(0, 9) . mt_rand(0, 9); } } return $title; } /** * @param $keyWord * @return mixed|string */ function getKeyWord($keyWord) { $char = ' | _ - — V v'; $pattern = [ "/[[:punct:]]/i", '/[' . $char . ']/u', '/[ ]{2,}/' ]; $keyWord = preg_replace($pattern, '|', trim($keyWord)); return explode('|', $keyWord)[0]; } /** * @param $description * @param $poems * @return string[] */ function getDescription($description, $poems) { $len = 7; $length = mb_strlen($description); if ($length > $len) { $len = $length; } else { $description = $description . getRandomChars($len - $length); } $descriptionShort = $description . ',' . getRandomChars($len) . '。'; $description = $descriptionShort . getArrayRandToString($poems); return [ 'descriptionShort' => str_replace([',', '。'], [',', '.'], $descriptionShort), 'description' => str_replace([',', '。'], [',', '.'], $description) ]; } /** * @param $dateTime * @param $number * @return false|string */ function getDateTime($dateTime, $number) { $dateNow = date('Y-m-d'); $dateTimeNow = date('Y-m-d H:i:s'); $h = date('H'); $m = date('i'); $type = in_array($dateTime, [__current_date__, __random_date__]) ? 1 : 2; $string = $type == 1 ? $dateNow : $dateTimeNow; if ($dateTime == __current_date_time__) { if ($m == 0) { $plus = 0; } else { $plus = mt_rand(60, $m * 60); } if ($number) { if ($number > $h) { $number = $h; } $number = mt_rand(0, $number) * 3600 + $plus; } else { $number = mt_rand(0, $h) * 3600 + $plus; } return date('Y-m-d H:i:s', strtotime($dateTimeNow) - $number); } if (!$number) { return $string; } $n = mt_rand(1, $number); $date = date('Y-m-d', strtotime(-$n . 'day')); if ($type == 1) { return $date; } return randomDateTime($date, $dateTimeNow); } /** * @param $string * @param $v * @return bool */ function hasRepeatMatch($string, $v) { $string = rtrim(ltrim($string, __PREG_TAG_START__), __PREG_TAG_END__); return strpos($v, $string) !== false; } /** * @param $resultReplace * @param $resourceDirPath * @param $fileData * @param $fileType * @param $k * @param $number */ function setRepeatData(&$resultReplace, $resourceDirPath, &$fileData, $fileType, $k, $number) { if (!$fileData) { $fileData = getData($resourceDirPath, $fileType); } if ($number < 2) { $resultReplace[$k] = getArrayRandToString($fileData); } else { $resultReplace[$k] = getArrayRandToString($fileData, $number); } } /** * @param $resourceDirPath * @param $fileType * @param $isImg * @return mixed */ function getData($resourceDirPath, $fileType, $isImg = false) { $resourceDirPath = $resourceDirPath . __PREG_END__ . $fileType; $titleCachePath = CACHE_PATH . $fileType .