Bonjour,
je crois que j'ai tout dit dans le titre de ce topic. Je cherche un code pour empêcher certains mots de passer dans le titrage d'une radio?
du style bloquer par exemple le titre où se trouve le mot "jingle"
merci par avance de votre aide
![]()
Bonjour,
je crois que j'ai tout dit dans le titre de ce topic. Je cherche un code pour empêcher certains mots de passer dans le titrage d'une radio?
du style bloquer par exemple le titre où se trouve le mot "jingle"
merci par avance de votre aide
![]()
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 if (str_pos($titre, "jingle")===false) { //ok } else { // interdit }
voilà mon code et voilà où j'ai placé votre code (mis en gras), y a un souci ça bug!!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
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
39
40
41
42 <?php ############################ ### require 'titre.php'; ### ############################ ######## DEFINITION DES VARIABLES HEADER header('Expires: 0'); header('Pragma: no-cache'); ini_set('max_input_time', 3); ini_set('max_execution_time', 3); ini_set('default_socket_timeout', 3); header('Access-Control-Allow-Origin: *'); header('Content-Type: text/plain; charset=UTF-8'); header('Cache-Control: no-cache, no-store, must-revalidate'); $ctx = stream_context_create(array('http' => array('timeout' => 3))); libxml_set_streams_context($ctx); ######## DEFINITION DES VARIABLES SERVEUR $ip = 'stream.maxifrance.fr'; $port = '8358'; $mount = '/stream'; ######## START IP/PORT VERIFICATION $_a = $_b = FALSE; if(preg_match('#^([0-9]{1,3}\.){3}[0-9]{1,3}$#', gethostbyname($ip))){ $_a = TRUE; } if(preg_match('#^[0-9]{2,5}$#', $port)){ $_b = TRUE; } if(!empty($_a) and !empty($_b)){ if (str_post($titre, "Jingles")===false) { //ok } else { // interdit } ######## GET SONG TITLE $title = $artist = ''; $query = json_decode(file_get_contents('https://api.webradio.tools/'.$ip.':'.$port.$mount)); $artist = $query->current_song->artist; $title = $query->current_song->title; ######## CREATION DU FICHIER TITRE.TXT $file = fopen('ctkoi/title.txt', 'w+'); fseek($file, 0); fputs($file, $artist.' - '.$title); fclose($file); } ?>![]()
Heu ... mon code était un exemple.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 $title = $query->current_song->title; if (str_post($title, "Jingles")=== false) { ######## CREATION DU FICHIER TITRE.TXT $file = fopen('ctkoi/title.txt', 'w+'); fseek($file, 0); fputs($file, $artist.' - '.$title); fclose($file); }
Bonjour,
Tout dépend ce que vous souhaitez tester.
Si jamais vous souhaitez tester la présence d'un mot complet, vous pouvez utiliser le code ci-dessous.
Si vous souhaitez tester la présence d'une chaine de caractères (sans la notion de mot), il faut simplement modifier la regex comme ci-dessous :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 // Récupération de la chaine de caractère à tester $chaine_a_tester = "a rain jingles aclear b"; // Génération de la regex permettant de tester le mot $mots_non_autorises = array('jingles','radio','test'); $regex = '#\b(' . implode('|',$mots_non_autorises) . ')\b#'; // Test de l'existence du mot $nom_est_correct = preg_match($regex, $chaine_a_tester); if ($nom_est_correct){ echo "Alert : votre nom contient un mot non autorisé !"; }else{ echo "Félicitation, votre nom est correct"; }
Code : Sélectionner tout - Visualiser dans une fenêtre à part $regex = '(' . implode('|',$mots_non_autorises) . ')';
En fait je voulais juste rajouter un bout de code qui me bloque juste le mot "Jingles" dans le code php existant, que je vous ai donné plus haut. merci
Partager