Es ist doch korrekt $2 durch $match[1] zu ersetzen? Habe es auch mit dem Backslach vor $match probiert, gleiches Ergebnis.
Bezieht sich auf den Index der capture group. $1
bzw $m[1]
für das was mit erstem geklammertem Teilmuster übereinstimmt usw.
Any Ideas?
Probier mal als callback etwas in der Art.
function ($m) { return $m[2] == $m[1] ? stripslashes($m[1]) : '<span class="glossary" title="'.addslashes($definition).'">'.$m[1].'</span>';
}
Habs nicht getestet.
Finde auch, dass dein Code sehr unübersichtlich ist. Man muss es sich doch nicht so schwer machne.
LG, Robert