|
|
Line 3,009: |
Line 3,009: |
|
|
|
|
|
<lang PHP><?php |
|
<lang PHP><?php |
|
|
|
|
⚫ |
function markov($text, $ruleset) { |
|
⚫ |
$lines = explode(PHP_EOL, $ruleset); |
|
⚫ |
|
|
⚫ |
foreach ($lines AS $line) { |
|
⚫ |
|
|
⚫ |
if (empty($line) OR preg_match('/^#/', $line)) { |
|
⚫ |
|
|
⚫ |
} elseif (preg_match('/^(.+)' . $spc . '->' . $spc . '(\.?)(.*)$/', $line, $matches)) { |
|
⚫ |
list($dummy, $pattern, $terminating, $replacement) = $matches; |
|
⚫ |
|
|
⚫ |
'pattern' => trim($pattern), |
|
⚫ |
'terminating' => ($terminating === '.'), |
|
⚫ |
'replacement' => trim($replacement), |
|
⚫ |
|
|
⚫ |
|
|
⚫ |
|
|
⚫ |
|
|
⚫ |
|
|
⚫ |
foreach ($rules AS $rule) { |
|
⚫ |
if (strpos($text, $rule['pattern']) !== FALSE) { |
|
⚫ |
$text = str_replace($rule['pattern'], $rule['replacement'], $text); |
|
⚫ |
if ($rule['terminating']) { |
|
⚫ |
|
|
⚫ |
|
|
⚫ |
|
|
⚫ |
|
|
⚫ |
|
|
⚫ |
|
|
⚫ |
|
|
⚫ |
|
|
⚫ |
|
|
|
|
|
|
$conf = array( |
|
$conf = array( |
Line 3,119: |
Line 3,151: |
|
), |
|
), |
|
); |
|
); |
|
|
|
⚫ |
function markov($text, $ruleset) { |
|
⚫ |
$lines = explode(PHP_EOL, $ruleset); |
|
⚫ |
|
|
⚫ |
foreach ($lines AS $line) { |
|
⚫ |
|
|
⚫ |
if (empty($line) OR preg_match('/^#/', $line)) { |
|
⚫ |
|
|
⚫ |
} elseif (preg_match('/^(.+)' . $spc . '->' . $spc . '(\.?)(.*)$/', $line, $matches)) { |
|
⚫ |
list($dummy, $pattern, $terminating, $replacement) = $matches; |
|
⚫ |
|
|
⚫ |
'pattern' => trim($pattern), |
|
⚫ |
'terminating' => ($terminating === '.'), |
|
⚫ |
'replacement' => trim($replacement), |
|
⚫ |
|
|
⚫ |
|
|
⚫ |
|
|
⚫ |
|
|
⚫ |
|
|
⚫ |
foreach ($rules AS $rule) { |
|
⚫ |
if (strpos($text, $rule['pattern']) !== FALSE) { |
|
⚫ |
$text = str_replace($rule['pattern'], $rule['replacement'], $text); |
|
⚫ |
if ($rule['terminating']) { |
|
⚫ |
|
|
⚫ |
|
|
⚫ |
|
|
⚫ |
|
|
⚫ |
|
|
⚫ |
|
|
⚫ |
|
|
⚫ |
|
|
⚫ |
|
|
|
|
|
|
|
foreach ($conf AS $id => $rule) { |
|
foreach ($conf AS $id => $rule) { |