Voor mijn forum heb ik een php-script gemaakt dat alle woorden in een bericht bekijkt en bij aangegeven begrippen een definitie-tag met uitleg er omheen zet. Dat is onderstaande code:
<?php
$begrip = array(
'hamon' => 'Golfpatroon in het staal van het snijvlak dat zichtbaar wordt na polijsting',
'kassaki' => 'punt',
'PC pk' => 'Practical katana van Paul Chen',
'saya' => 'schede',
'tsuba' => 'Scheidt handvat van blad en voorkomt dat de hand langs het blad glijdt',
);
$message = preg_replace(
'/(?<=[>\s(?]|^)('
. implode(
'|',
array_map(
create_function(
'$s',
'return preg_quote($s, "/");'
),
array_keys(
$begrip
)
)
)
. ')(?=[\s.,<)?]|$)/ie',
'\'<dfn title="\' . htmlspecialchars(\$begrip[ucfirst(strtolower(\'$0\'))]) . \'">$0</dfn>\'',
$message
);
?>
Kort gezegd komt het erop neer dat als er "saya" in een bericht staat, dit in HTML wordt vervangen door
<dfn title="Schede">saya</dfn>
(noot terzijde: de array is natuurlijk veel langer maar voor de duidelijkheid ingekort)
Dit zou ik graag ook voor artikelen buiten het forum willen toepassen. De boel zal dan wellicht een tikkie verbouwd moeten worden ($message bestaat waarschijnlijk niet in MODx) maar dat zal vast wel kunnen. Vraag is echter: "Hoe"? Ik ben een enorme newbie op MODx-gebied. Voor zover ik heb begrepen kan je zulke trucs uithalen met een snippet o.i.d., maar kan iemand me de weg wijzen?