Имеется вот такой код, реально ли его упростить?
<?php
/**
* Метод парсинга BBCode
* @param string $source текст содержаший BBCode
* @return string распарсенный текст
*/
public function parse($source) {
$source = nl2br($source);
foreach ($this->parsers as $name => $parser) {
if (isset($parser['iterate'])) {
for ($i=0; $i <= $parser['iterate']; $i++) {
if (isset($parser['callback'])) {
$source = preg_replace_callback($parser['pattern'], array($this, $parser['callback']), $source);
} else {
$source = preg_replace($parser['pattern'], $parser['replace'], $source);
}
}
} else {
if (isset($parser['callback'])) {
$source = preg_replace_callback($parser['pattern'], array($this, $parser['callback']), $source);
} else {
$source = preg_replace($parser['pattern'], $parser['replace'], $source);
}
}
}
return $source;
}
Изменил: Вантуз-мен (10.01.2015 / 15:26)