L'opérateur de contenu [contains]

Nous vous rappelons que lorsque vous accédez à ce blog, vous signez automatiquement un accord avec Blogger Code.
Consultez les CGU.


Blogger - Contains operator
L'opérateur de contenu a la particularité de comparer une section d'une chaîne de caractères à une chaîne de caractères. Le résultat renvoie une valeur booléenne.


Syntaxe

Syntaxe
string contains string

  • Le résultat de l'opération sera toujours une valeur de type booléenne.
  • Les deux opérandes doivent être 2 chaînes de caractères :
    • Blogger contient Blog
  • Les opérandes peuvent être :
    • Une valeur explicite
    • Une donnée
    • Le résultat d'une expression Blogger (une opération imbriquée)
  • L'opération peut être imbriquée dans une autre opération qui accepte une valeur de type boolean.
  • Attention ! Le terme contains est également un opérateur "membres" qui compare une valeur à un tableau.


Quelques exemples

2 valeurs explicites
<b:if cond='"Blogger" contains "Blog"'>

</b:if>
Le résultat de l'opération sera : true. La chaîne de caractères Blog est contenu dans Blogger.
Une valeur explicite et une donnée
<b:if cond='data:blog.title contains "Code"'>

</b:if>
Si la valeur de la donnée est Blogger Code, le résultat de l'opération sera : true. La chaîne de caractères Code est contenu dans Blogger Code.
2 données
<b:if cond='data:blog.pageTitle contains data:blog.title'>

</b:if>
Le résultat de l'opération sera : true. Le nom du blog est toujours contenu dans le titre de la page.
Imbrication dans une opération Lambda
<b:eval expr='data:posts count (p => p.title contains "Toto")'/>
Le résultat de l'opération sera le nombre de posts contenant la chaîne de caractères "Toto".
Imbrication dans une opération ternaire
<b:eval expr='data:view.description contains "patates" ? "Temps de préparation : minimum 2 heures" : "Temps de préparation : moins de 2 heures"'/>
L'opération affichera l'une des 2 valeurs définies dans les 2e et 3e opérandes.
Imbrication dans une opération logique
<b:if cond='data:view.title contains "Toto" and data:view.isPost'>

</b:if>
Le résultat sera true si le titre contient la chaîne de caractères "Toto" et si la page courante est un article.


Syntaxe fonctionnelle

Une syntaxe fonctionnelle est une alternative que l'on peut utiliser lorsque la syntaxe standard contient plusieurs fois le même opérateur.
L'usage de cette alternative ne se justifie pas vraiment avec l'opérateur de contenu parce qu'il n'y a que 2 opérandes.

contains(string,string)


Les autres opérateurs

Fiches populaires cette semaine

Ajouter des boutons à la barre de partage Blogger

inReplyTo : Développer un module de commentaires avec réponses