<?php
function mark($core, $classes)
{
return ('<span class="' . implode(" ", $classes) . '">' . $core . '</span>');
}
function format($string, $classes = ["word", "lang_fs"])
{
if ($string == NULL)
{
$string = "--";
}
else
{
$string = preg_replace("/\/([^\/]*)\//", mark("$1", ["ipa"]), $string);
$string = preg_replace("/_([^_]*)_/", "<u>$1</u>", $string);
$string = preg_replace("/\'([^\']*)\'/", mark("$1", $classes), $string);
}
return $string;
}
function _foo($fieldname)
{
return (
function ($row) use (&$fieldname)
{
global $configuration;
return ["original" => $row[$fieldname]["fs"], "translated" => $row[$fieldname][$configuration["target"]]];
}
);
}
function _baz($words, $type, $language)
{
return ((count($words) == 0) ? "?" : implode(", ", array_map(function ($word) use (&$type,&$language) {return mark($word, [$type, "lang_" . $language]);}, $words)));
}
function _bar($type = "word")
{
return (
function ($value) use (&$type)
{
global $configuration;
$output = "";
$output .= _baz($value["original"], $type, "fs");
$output .= " ~ ";
$output .= _baz($value["translated"], $type, $configuration["target"]);
return $output;
}
);
}