Вот код:
<?php
$text = "{Al|La}la bl{bl|l b|lbl}lb. Cl{cl|lc}lc.";
$result = "";
preg_match_all("#[\{]{1}(.[^\}]*)[\}]{1}#", $text, $stringArray);
$attachmentsArray = $stringArray;
function replacement ($count, $attachmentsArray, $result) {
$tok = strtok($attachmentsArray[1][$count - 1], "|");
while ($tok !== false) {
$replaceArray[$count - 1] = $tok;
$tok = strtok("|");
if ($count > 0) {
replacement($count - 1, $attachmentsArray, $result);
} else {
$replaceArray = array_reverse($replaceArray);
$result .= str_replace($attachmentsArray[0], $replaceArray, $text); $result .= "<br>";
$replaceArray = array_reverse($replaceArray);
}
}
}
replacement(count($attachmentsArray[1]), $attachmentsArray, $result);
//$result .= str_replace($stringArray[0], replacement(count($stringArray[1])) , $text); $result .= "<br>";
echo $text . "<br><br>"; echo $result; echo "<br>";
/*$tok = strtok($stringArray[1][1], "|");
while ($tok !== false) {
echo "Word = $tok<br>";
$tok = strtok("|");
}*/
?>
А вот результат:
Не могу понять, что это значит, что неверно и что делать?