25 lines
973 B
PHP
Executable File
25 lines
973 B
PHP
Executable File
|
|
<?php
|
|
header('Content-Type: application/json');
|
|
class ContentSpinner {
|
|
public function spin($text) {
|
|
return preg_replace_callback('/\{([^{}]+)\}/', function($m) {
|
|
$options = explode('|', $m[1]);
|
|
return $options[array_rand($options)];
|
|
}, $text);
|
|
}
|
|
public function multiple($text, $count = 5) {
|
|
$results = [];
|
|
for ($i = 0; $i < $count; $i++) $results[] = $this->spin($text);
|
|
return array_values(array_unique($results));
|
|
}
|
|
}
|
|
$spinner = new ContentSpinner();
|
|
$action = $_POST['action'] ?? $_GET['action'] ?? '';
|
|
switch ($action) {
|
|
case 'spin': echo json_encode(['result' => $spinner->spin($_POST['text'] ?? $_GET['text'] ?? '')]); break;
|
|
case 'multiple': echo json_encode(['results' => $spinner->multiple($_POST['text'] ?? '', $_POST['count'] ?? 5)]); break;
|
|
default: echo json_encode(['actions' => ['spin','multiple'], 'example' => '?action=spin&text={Hello|Hi} {World|Earth}']);
|
|
}
|
|
|