Extrait et filtre les comptes hashtags d'un texte

Deux fonctions pour extraire, nettoyer, filtrer des comptes hashtags d'une chaine de caractère ou de n'importe quel texte.

Pratique pour remonter des comptes.

  • Fonction 1 : Extait les comptes hashtags et filtre les comptes spams 
  • Fonction 2 : Extrait naturemment tous les comptes hashtags

Information sur les mises à jour

Dernière mise à jour :

02 Nov 2019
fonctionnement du code vérifié

2 646  vues
Compatibilité du code
PHP 5, PHP 7 et PHP 8
  code classé dans   X
  code source classé dans   X
 
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
                    
<?php
/*------------------------------*/
/*
Titre : Extrait et filtre les comptes hashtags d'un texte

Date édition : 02 Nov 2019
Date mise a jour : 02 Nov 2019

Rapport de la maj:
- fonctionnement du code vérifié
*/
/*------------------------------*/

function CheckTags1($str) {

$masque = '/(?i)#[a-z][a-z0-9]*(?=\s|$)/m';
preg_match_all($masque, $str, $matches, PREG_SET_ORDER, 0);

return $matches;
}

function CheckTags2($str) {

if(preg_match_all("/#[^\s\p{P}]+/", $str, $arr))
{
return implode(" ",$arr[0]);
}
}
?>
<?php
/*------------------------------*/
/*
Titre : Extrait et filtre les comptes hashtags d'un texte

Date édition : 02 Nov 2019
Date mise a jour : 02 Nov 2019

Rapport de la maj:
- fonctionnement du code vérifié
*/
/*------------------------------*/

function CheckTags1($str) {

$masque = '/(?i)#[a-z][a-z0-9]*(?=\s|$)/m';
preg_match_all($masque, $str, $matches, PREG_SET_ORDER, 0);

return $matches;
}

function CheckTags2($str) {

if(preg_match_all("/#[^\s\p{P}]+/", $str, $arr))
{
return implode(" ",$arr[0]);
}
}
?>

Exemple :

 
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
                    
<?php

$str = '#info10 compte #babar #o
#nous #gg #2020 # spam #@intox #o #2020';

$out = CheckTags1($str);
var_dump($out);

$out = CheckTags2($str);
var_dump($out);
?>

Affichage fonction 1 :

array (size=6)
0 =>
array (size=1)
0 => string '#info10' (length=7)
1 =>
array (size=1)
0 => string '#babar' (length=6)
2 =>
array (size=1)
0 => string '#o' (length=2)
3 =>
array (size=1)
0 => string '#nous' (length=5)
4 =>
array (size=1)
0 => string '#gg' (length=3)
5 =>
array (size=1)
0 => string '#o' (length=2)

Affichage fonction 2 :

#info10 #babar #o #nous #gg #2020 #o #2020' (length=42)
<?php

$str = '#info10 compte #babar #o
#nous #gg #2020 # spam #@intox #o #2020';

$out = CheckTags1($str);
var_dump($out);

$out = CheckTags2($str);
var_dump($out);
?>

Affichage fonction 1 :

array (size=6)
0 =>
array (size=1)
0 => string '#info10' (length=7)
1 =>
array (size=1)
0 => string '#babar' (length=6)
2 =>
array (size=1)
0 => string '#o' (length=2)
3 =>
array (size=1)
0 => string '#nous' (length=5)
4 =>
array (size=1)
0 => string '#gg' (length=3)
5 =>
array (size=1)
0 => string '#o' (length=2)

Affichage fonction 2 :

#info10 #babar #o #nous #gg #2020 #o #2020' (length=42)

      Fonctions du code - Doc officielle PHP

   php.net  
Description
Versions PHP
    implode
Rassemble les éléments d'un tableau en une chaîne
PHP 4, 5, 7 et 8
    preg_match_all
Expression rationnelle globale
PHP 4, 5, 7 et 8
    return
Retourne le controle du programme au module appelant
PHP 4, 5, 7 et 8
    var_dump
Affiche les informations d'une variable
PHP 4, 5, 7 et 8
Minimum 10 mots. Votre commentaire sera visible après validation.


 Autres snippets qui pourraient vous intéresser

Extrait tout le texte d'une page web

Compatibilité : PHP 5, PHP 7, PHP 8

Fonction qui aspire une page sur un site web et en extrait le texte, puis supprime toutes les balises inutiles. Retourne uniquement le texte lisible.

Extrait des adresses emails dans un texte

Compatibilité : PHP 5, PHP 7, PHP 8

Cherche et trouve toute les adresses mails contenus dans le texte de votre choix et les place dans une tableau.

* Requêtes exécutées avec Recherche Contextuelle

  Les derniers scripts PHP / MySQL

PmWiki 2.5.9

logo PmWiki
Langue langue fr
Date  hier
Taille 0.68 Mo
Catégorie Wiki

CubeCart 6.6.2

logo CubeCart
Langue langue en
Date 16 Avril 2026
Taille 16 Mo
Catégorie Ecommerce

Magepattern 1.1

logo Magepattern
Langue langue fr
Date 15 Avril 2026
Taille 6 Mo
Catégorie CMS

PHP 8.5.5

logo PHP
Langue langue us
Date 12 Avril 2026
Taille 32 Mo
Catégorie PHP

PHP 8.4.20

logo PHP
Langue langue us
Date 12 Avril 2026
Taille 30 Mo
Catégorie PHP

Serendipity 2.6.0

logo Serendipity
Langue langue fr
Date 11 Avril 2026
Taille 15 Mo
Catégorie Blogs