[Spip] boucle recherche chaine de caractère dans le texte

80 views
Skip to first unread message

Olivier Garry

unread,
Jul 24, 2008, 3:38:49 AM7/24/08
to spip
Bonjour,

je suis à la recherche d'une boucle qui me permettrait de passer comme
critère la recherche d'une chaîne de caractère au sein de la balise TEXTE.

Un peu sur le modèle {texte==^aaaa} mais au lieu que ca interprete
"commence par aaa", il faudrait que ca interprete "contient aaa.

Vous me direz que je n'ai qu'à utiliser le formulaire de recherche. Soit
mais s'il y avait la possibilité de le traiter directement en boucle
sans avoir à gérer le formulaire moteur, ça m'arrangerait. Je veux juste
remonter une liste d'article par date.


merci, c'est assez urgent.

--
> Avant d'imprimer ce courriel, réfléchissons à l'utilité de la version imprimée.
Une lecture en ligne est peut-être suffisante.

---------------------------------
Olivier GARRY
Chef de produit, chef de projets
Portail vie-publique.fr (www.vie-publique.fr)
Département des produits internet
La Documentation française
01 40 15 69 09
olivie...@df.gouv.fr

_______________________________________________
liste spip
sp...@rezo.net - désabonnement : spip...@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip

Documentation de SPIP : http://www.spip.net/

irc://irc.freenode.net/spip ou http://embed.mibbit.com/?server=irc.freenode.net&channel=%23spip

Cédric BREMAUD

unread,
Jul 24, 2008, 3:55:04 AM7/24/08
to Olivier Garry, spip
Pour "contient aaaa" est ce que ce type de syntaxe ne fonctionnerait pas {texte==^aaaa^} ?

Olivier Garry a écrit :
Bonjour,

je suis à la recherche d'une boucle qui me permettrait de passer comme critère la recherche d'une chaîne de caractère au sein de la balise TEXTE.

Un peu sur le modèle {texte==^aaaa} mais au lieu que ca interprete "commence par aaa", il faudrait que ca interprete "contient aaa.

Vous me direz que je n'ai qu'à utiliser le formulaire de recherche. Soit mais s'il y avait la possibilité de le traiter directement en boucle sans avoir à gérer le formulaire moteur, ça m'arrangerait. Je veux juste remonter une liste d'article par date.


merci, c'est assez urgent.



--
Cédric BREMAUD - Otor Services

Site officiel: www.otor.com
Tel: 05 49 55 30 45
Fax: 05 49 55 23 06
Email: c.br...@otor.com

________________________________________________________________________

Suivez l'actualite du Groupe Otor sur nos sites Internet
http://www.otor.com
http://www.otorsystems.com

Chourak

unread,
Jul 24, 2008, 4:03:47 AM7/24/08
to sp...@rezo.net, spip
Olivier Garry a écrit :

> Bonjour,
>
> je suis à la recherche d'une boucle qui me permettrait de passer comme
> critère la recherche d'une chaîne de caractère au sein de la balise TEXTE.
>
> Un peu sur le modèle {texte==^aaaa} mais au lieu que ca interprete
> "commence par aaa", il faudrait que ca interprete "contient aaa.
>
> Vous me direz que je n'ai qu'à utiliser le formulaire de recherche. Soit
> mais s'il y avait la possibilité de le traiter directement en boucle
> sans avoir à gérer le formulaire moteur, ça m'arrangerait. Je veux juste
> remonter une liste d'article par date.
>
>
> merci, c'est assez urgent.
>
Bonjour,

Peut-être avec {texte like aaaa} sait-on jamais ;)

Chourak

unread,
Jul 24, 2008, 4:03:47 AM7/24/08
to Olivier Garry, spip
Olivier Garry a écrit :

> Bonjour,
>
> je suis à la recherche d'une boucle qui me permettrait de passer comme
> critère la recherche d'une chaîne de caractère au sein de la balise TEXTE.
>
> Un peu sur le modèle {texte==^aaaa} mais au lieu que ca interprete
> "commence par aaa", il faudrait que ca interprete "contient aaa.
>
> Vous me direz que je n'ai qu'à utiliser le formulaire de recherche. Soit
> mais s'il y avait la possibilité de le traiter directement en boucle
> sans avoir à gérer le formulaire moteur, ça m'arrangerait. Je veux juste
> remonter une liste d'article par date.
>
>
> merci, c'est assez urgent.
>
Bonjour,

Peut-être avec {texte like aaaa} sait-on jamais ;)

_______________________________________________

Yoann NOGUES (zerax)

unread,
Jul 24, 2008, 4:24:16 AM7/24/08
to Olivier Garry, spip
Olivier Garry a écrit :

> Bonjour,
>
> je suis à la recherche d'une boucle qui me permettrait de passer comme
> critère la recherche d'une chaîne de caractère au sein de la balise
> TEXTE.
>
> Un peu sur le modèle {texte==^aaaa} mais au lieu que ca interprete
> "commence par aaa", il faudrait que ca interprete "contient aaa.
>
> Vous me direz que je n'ai qu'à utiliser le formulaire de recherche.
> Soit mais s'il y avait la possibilité de le traiter directement en
> boucle sans avoir à gérer le formulaire moteur, ça m'arrangerait. Je
> veux juste remonter une liste d'article par date.
>
>
> merci, c'est assez urgent.
>
Salut,
tout simplement avec {texte==aaaa}

Cédric BREMAUD

unread,
Jul 24, 2008, 4:25:29 AM7/24/08
to Olivier Garry, spip
oups erratum, oubliez ma réponse car j'avais mal compris le sens du ^
peut-être {texte==*aaaa*} ....


Cédric BREMAUD a écrit :


> Pour "contient aaaa" est ce que ce type de syntaxe ne fonctionnerait
> pas {texte==^aaaa^} ?
>
> Olivier Garry a écrit :
>> Bonjour,
>>
>> je suis à la recherche d'une boucle qui me permettrait de passer
>> comme critère la recherche d'une chaîne de caractère au sein de la
>> balise TEXTE.
>>
>> Un peu sur le modèle {texte==^aaaa} mais au lieu que ca interprete
>> "commence par aaa", il faudrait que ca interprete "contient aaa.
>>
>> Vous me direz que je n'ai qu'à utiliser le formulaire de recherche.
>> Soit mais s'il y avait la possibilité de le traiter directement en
>> boucle sans avoir à gérer le formulaire moteur, ça m'arrangerait. Je
>> veux juste remonter une liste d'article par date.
>>
>>
>> merci, c'est assez urgent.
>>
>
>
> --

> *Cédric BREMAUD - Otor Services*
> <www.otor.com>
> _Site officiel:_ www.otor.com
> _Tel:_ 05 49 55 30 45
> _Fax:_ 05 49 55 23 06
> _Email:_ c.br...@otor.com


>
> ________________________________________________________________________
>
> Suivez l'actualite du Groupe Otor sur nos sites Internet
> http://www.otor.com
> http://www.otorsystems.com
>

> ------------------------------------------------------------------------


>
> _______________________________________________
> liste spip
> sp...@rezo.net - désabonnement : spip...@rezo.net
>
> Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
>
> Documentation de SPIP : http://www.spip.net/
>
> irc://irc.freenode.net/spip ou http://embed.mibbit.com/?server=irc.freenode.net&channel=%23spip
>


--
*Cédric BREMAUD - Otor Services*
<www.otor.com>
_Site officiel:_ www.otor.com
_Tel:_ 05 49 55 30 45
_Fax:_ 05 49 55 23 06
_Email:_ c.br...@otor.com

________________________________________________________________________

Suivez l'actualite du Groupe Otor sur nos sites Internet
http://www.otor.com
http://www.otorsystems.com

_______________________________________________

yoh

unread,
Jul 24, 2008, 4:49:23 AM7/24/08
to Cédric BREMAUD, spip
Et si à la place d'un critère de boucle, tu utilisais un affichage
conditionnel au sein d'une boucle:

[(#TEXTE|match{aaaa}|=={aaaa}|?{'#TEXTE',''})]

Explication :
Extraction de aaaa de #TEXTE (cela renvoi aaaa si il est dedans sinon rien)
Comparaison avec aaaa
Si c'est bon alors #TEXTE sinon rien

yoh

yoh

unread,
Jul 24, 2008, 4:49:23 AM7/24/08
to sp...@rezo.net, spip
Et si à la place d'un critère de boucle, tu utilisais un affichage
conditionnel au sein d'une boucle:

[(#TEXTE|match{aaaa}|=={aaaa}|?{'#TEXTE',''})]

Explication :
Extraction de aaaa de #TEXTE (cela renvoi aaaa si il est dedans sinon rien)
Comparaison avec aaaa
Si c'est bon alors #TEXTE sinon rien

yoh

>>

Olivier Garry

unread,
Jul 24, 2008, 5:00:10 AM7/24/08
to yoh, spip
merci beaucoup, je vais tyester tout ça et vous dirait ce qui marche le
mieux

> Avant d'imprimer ce courriel, réfléchissons à l'utilité de la version imprimée.
Une lecture en ligne est peut-être suffisante.

---------------------------------
Olivier GARRY
Chef de produit, chef de projets
Portail vie-publique.fr (www.vie-publique.fr)
Département des produits internet
La Documentation française
01 40 15 69 09
olivie...@df.gouv.fr

yoh a écrit :

Olivier Garry

unread,
Jul 24, 2008, 10:56:37 AM7/24/08
to yoh, spip
ca a l'air de marché mais il faut bien définir la boucle car en temps de
calcul ca peut depasser execution_time du serveur si on lance ça sur
toutes la table articles par exemple.

merci en tout cas

> Avant d'imprimer ce courriel, réfléchissons à l'utilité de la version imprimée.
Une lecture en ligne est peut-être suffisante.

---------------------------------
Olivier GARRY
Chef de produit, chef de projets
Portail vie-publique.fr (www.vie-publique.fr)
Département des produits internet
La Documentation française
01 40 15 69 09
olivie...@df.gouv.fr

yoh a écrit :

Olivier Garry

unread,
Jul 30, 2008, 10:24:29 AM7/30/08
to yoh, oliviergarry@free.fr >> "oliviergarry@free.fr", spip
Bonjour si je peux abuser et avoir ton expertise :

sur tes recommandations j'ai développé cette boucle:

<ul>
<BOUCLE_articlesmotsglossaire (ARTICLES){age_redac<520}>
[<li>#DATE <a
href="#URL_ARTICLE">[(#TITRE|supprimer_numero)]</a>(#TEXTE|match{#_glossairemot:TITRE}|=={#_glossairemot:TITRE})<br>[(#TEXTE|couper{250})]</li>]

</BOUCLE_articlesmotsglossaire>
</ul>

or ca ne marche pas, alors que si je remplace "#_glossairemot:TITRE" par
une vrai chaîne de caractère en dur, ca fonctionne. Est-ce que dans le
match ne permet pas de récupérer des balises SPIP ?

merci d'avance

> Avant d'imprimer ce courriel, réfléchissons à l'utilité de la version imprimée.
Une lecture en ligne est peut-être suffisante.

---------------------------------
Olivier GARRY
Chef de produit, chef de projets
Portail vie-publique.fr (www.vie-publique.fr)
Département des produits internet
La Documentation française
01 40 15 69 09
olivie...@df.gouv.fr

yoh a écrit :

yoh

unread,
Jul 31, 2008, 1:05:32 AM7/31/08
to sp...@rezo.net
Je viens de tester cette boucle en local (1.9.2d) aprés avoir rajouter
un de mes mots clés (AAP et Financement) dans le texte d'un article et
pas de souci :

<BOUCLE_glossairemot(MOTS)>
<ul>
<BOUCLE_articlesmotsglossaire (ARTICLES){id_mot}>


[<li>#DATE <a
href="#URL_ARTICLE">[(#TITRE|supprimer_numero)]</a>(#TEXTE|match{#_glossairemot:TITRE}|=={#_glossairemot:TITRE})<br>[(#TEXTE|couper{250})]</li>]
</BOUCLE_articlesmotsglossaire>
</ul>

</BOUCLE_glossairemot>

me donne comme résultat :

2008-07-25 08:43:00 Agenda1
tot tutu tatat AAP et Financement cdyj vghkbv


Par contre, il écrit un 1 comme résultat de ton équivalence == aprés le
titre de l'article.

Pour éviter le 1, tu peux rajouter un filtre "si vrai, sinon" :
(#TEXTE|match{#_glossairemot:TITRE}|=={#_glossairemot:TITRE}|?{'
',''})<br>[(#TEXTE|couper{250})]

Bon courage :)


Olivier Garry a écrit :

Reply all
Reply to author
Forward
0 new messages