Explode sur une fin de ligne, séparer les lignes dans un #ARRAY

Bonjour,

J'ai un champ de formulaire de configuration de plugin de type textarea :
         array(
             'saisie' => 'textarea',
             'options' => array(
                 'nom' => 'accueil_resumes',
                 'rows' => '10',

Dans mon squelette, je récupère ce champ :

     [(#SET{accueil_liste,#CONFIG{monplugin/accueil_resumes}})]

Comment séparer les différentes lignes dans un tableau :

     #SET{accueil_sections, #GET{accueil_liste}|explode{"\n"}}

ne fonctionne pas.

Merci

--
Stéphane
17 Charente-Maritime

Le 25/05/2020 à 15:53, Stephane Santon a écrit :

Bonjour,

J'ai un champ de formulaire de configuration de plugin de type textarea :
array(
'saisie' => 'textarea',
'options' => array(
'nom' => 'accueil_resumes',
'rows' => '10',

Dans mon squelette, je récupère ce champ :

 \[\(\#SET\{accueil\_liste,\#CONFIG\{monplugin/accueil\_resumes\}\}\)\]

Comment séparer les différentes lignes dans un tableau :

 \#SET\{accueil\_sections, \#GET\{accueil\_liste\}|explode\{"\\n"\}\}

ne fonctionne pas.

Merci

avec \n\r ? (ces affaires de retour ligne c'est tjr une galère)

Le 25/05/2020 à 15:53, Stephane Santon a écrit :

Comment séparer les différentes lignes dans un tableau :
#SET{accueil_sections, #GET{accueil_liste}|explode{"\n"}}
ne fonctionne pas.

non Cf PHP: explode - Manual :
l'ordre des paramètres est inverse, genre : #EVAL{\n}|explode{#GET{...}}
Mais il se peut que SPIP échappe les caractères...
auquel cas plutôt #EVAL{\n}|explode{#GET{...}} ... ou #EVAL{"\n"}|explode{#GET{...}} ?
JL

Le 25/05/2020 à 21:34, JLuc a écrit :

Le 25/05/2020 à 15:53, Stephane Santon a écrit :

Comment séparer les différentes lignes dans un tableau :
#SET{accueil_sections, #GET{accueil_liste}|explode{"\n"}}
ne fonctionne pas.

non Cf PHP: explode - Manual :
l'ordre des paramètres est inverse, genre : #EVAL{\n}|explode{#GET{...}}
Mais il se peut que SPIP échappe les caractères...
auquel cas plutôt #EVAL{\n}|explode{#GET{...}} ... ou #EVAL{"\n"}|explode{#GET{...}} ?

Non, explode est un filtre de SPIP dans ce cas là, qui inverse justement les paramètres de la fonction php :

--
nicod_

Bonsoir,

Le 25/05/2020 à 22:16, nicod_ a écrit :

Comment séparer les différentes lignes dans un tableau :
#SET{accueil_sections, #GET{accueil_liste}|explode{"\n"}}
ne fonctionne pas.

non Cf PHP: explode - Manual :
l'ordre des paramètres est inverse, genre : #EVAL{\n}|explode{#GET{...}}
Mais il se peut que SPIP échappe les caractères...
auquel cas plutôt #EVAL{\n}|explode{#GET{...}} ... ou #EVAL{"\n"}|explode{#GET{...}} ?

Non, explode est un filtre de SPIP dans ce cas là, qui inverse justement les paramètres de la fonction php :
|explode - SPIP

Ah, j'étais surpris de l'usage php inversé car un essai sur explode{|} fonctionnait...

Bon pour l'instant j'ai réussi avec
     [(#SET{accueil_sections,#GET{accueil_liste}|explode{#EVAL{chr(13)}}})]

Je ne traite pas le chr(10), je vais voir s'il me gène dans mon traitement.

Merci à tous pour votre aide

--
Stéphane
17 Charente-Maritime