Glossaire dans CS: comment afficher que le premier mot avant le slash?

Normalement, dans le glossaire, les mots sont séparés par un slash pour
permettre de trouver correspondance avec les différents versions d’un
mot. par exemple:
« ökologisch / ökologische / ökologischer / ökologisches / ökologischen »
me trouve toutes les déclinaisons du terme « ökologisch » dans les textes.
Mais je n’aimerais afficher que « ökologisch » dans la petite fenêtre qui
pop up, et également dans la liste des mots clés.

J’ai essayé de faire un match sur le titre: [(#TITRE|match{^\w+})], ce
qui devrait me sortir que le premier mot. Problème dans mon exemple: le
ö n’est pas un « word caracter », et pour les autres termes il ne me sort
que la premiere lettre. En plus j’ai parfois un terme composé de deux ou
trois mots avant le slash.

Est-ce qu’il y a un match possible pour faire: « n’afficher que ce
jusqu’au premier slash moins un espace » ou un truc comparable? Je ne
suis pas très regex…
Ou est-ce qu’il y a une solution pure SPIP?

Ou bien, ne serait-ce pas une idée d’intégrer dans le glossaire la
possibilité de pouvoir choisir de n’afficher que le premier terme du
mot, tout en trouvant les déclinaisons possibles?

Merci pour vos observations,
Martin

Martin Kempf a écrit :

Normalement, dans le glossaire, les mots sont séparés par un slash pour
permettre de trouver correspondance avec les différents versions d'un
mot. par exemple:
"ökologisch / ökologische / ökologischer / ökologisches / ökologischen"
me trouve toutes les déclinaisons du terme "ökologisch" dans les textes.
Mais je n'aimerais afficher que "ökologisch" dans la petite fenêtre qui
pop up, et également dans la liste des mots clés.

J'ai essayé de faire un match sur le titre: [(#TITRE|match{^\w+})], ce
qui devrait me sortir que le premier mot. Problème dans mon exemple: le
ö n'est pas un "word caracter", et pour les autres termes il ne me sort
que la premiere lettre. En plus j'ai parfois un terme composé de deux ou
trois mots avant le slash.

Est-ce qu'il y a un match possible pour faire: "n'afficher que ce
jusqu'au premier slash moins un espace" ou un truc comparable? Je ne
suis pas très regex...
Ou est-ce qu'il y a une solution pure SPIP?

Ou bien, ne serait-ce pas une idée d'intégrer dans le glossaire la
possibilité de pouvoir choisir de n'afficher que le premier terme du
mot, tout en trouvant les déclinaisons possibles?

Merci pour vos observations,
Martin

Peut-etre peux-tu écrire un filtre maison pour arriver à tes fins :
function premier_mot($titre) {
  r = explode('/', $titre, 2);
  return trim(r[0]);
}
puis : [(#TITRE|premier_mot)]
(non testé !)

Pat

Yess, merci, ca marche comme ca:

function premier_mot($titre) {
$pm = explode(‹ / ›, $titre, 2);
return trim($pm[0]);
}

Impec.

J ai vu dans le code du glossar qu il y avait deja un explode qqpart, ce serait plus facile de pouvoir le recuperer directement labas mais bon, je tatonne en php…

En tous cvas pour moi ca marche comme ca pour l instant, un grand merci

Martin

2008/1/9, Pat <patfr@ifrance.com>:

Martin Kempf a écrit :

Normalement, dans le glossaire, les mots sont séparés par un slash pour
permettre de trouver correspondance avec les différents versions d’un
mot. par exemple:
« ökologisch / ökologische / ökologischer / ökologisches / ökologischen »
me trouve toutes les déclinaisons du terme « ökologisch » dans les textes.
Mais je n’aimerais afficher que « ökologisch » dans la petite fenêtre qui
pop up, et également dans la liste des mots clés.

J’ai essayé de faire un match sur le titre: [(#TITRE|match{^\w+})], ce
qui devrait me sortir que le premier mot. Problème dans mon exemple: le
ö n’est pas un « word caracter », et pour les autres termes il ne me sort
que la premiere lettre. En plus j’ai parfois un terme composé de deux ou
trois mots avant le slash.

Est-ce qu’il y a un match possible pour faire: « n’afficher que ce
jusqu’au premier slash moins un espace » ou un truc comparable? Je ne
suis pas très regex…
Ou est-ce qu’il y a une solution pure SPIP?

Ou bien, ne serait-ce pas une idée d’intégrer dans le glossaire la
possibilité de pouvoir choisir de n’afficher que le premier terme du
mot, tout en trouvant les déclinaisons possibles?

Merci pour vos observations,
Martin

Peut-etre peux-tu écrire un filtre maison pour arriver à tes fins :
function premier_mot($titre) {
r = explode(‹ / ›, $titre, 2);
return trim(r[0]);
}
puis : [(#TITRE|premier_mot)]
(non testé !)

Pat


liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net
Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Documentation de SPIP : http://www.spip.net/
irc://irc.freenode.net/spip
FAQ : http://www.spip.net/fr_article1054.html