La Pause Café du Forum Programmation [PART 3]

Crée un topic, stp :slight_smile: Et pour le reste, j’ai pas tout compris, mais

(toto)+prout ne matchera que totototototototototototototototototototoprout mais pas “prout” en solitaire.

sauf si la variable $cWords est vide alors ?

Dans ce cas ça donnera ()+(prout)
Et donc juste prout marchera :slight_smile:


D'ailleurs remercions tous Sans-Nom de ces exemples originaux ("toto" et "prout"). Vraiment très constructif :paf:
Au pire un traitement sur la variable $cWords avant pour tester si elle est vide te prend une ligne hein :)
$cWords = ($cWords == null) ? "valeur_si_vide" : $cWords;

Oui, mais moi c’est pas $cWords qui me pose problème… c’est que je ne veux pas qu’il matche sur les caractères alphanumériques !

Ah.

Bah il faut faire un preg replace sur $cWords pour enlever ses caractères alphanumérique.

()+(prout) risque de faire une erreur de regexp… Je ne suis pas sûr que PCRE autorise une répétition sur un pattern qui matche rien… A tester, mais dans ce cas, l’erreur est en amont : la variable $cWords n’a pas à être vide. En java, ça sera une NullPointerException ou une IllegalArgumentException …

En JS le ()+(prout) fonctionne. Je teste en php et je vous dit ça :slight_smile:


En PHP : ``` echo preg_match("#()+(prout)#", "testprout"); ```

Me retourne

1

w00t !

C’est ce que je dis :wink:

'fin bref c’est pas la question, je mettrais une variable non nulle dans $cWords… mais je ne veux pas que les paramètres alphanumériques soient considérés, contrairement à ce qui est en place dans le regex actuel…

$pattern = '/^(' . $cWord . ')+(' . $endings . ')*$/i';

C’est mieux comme ça ?
Ou dois-je aussi enlever *$ ?
à quoi correspond le i ?

Edit :
J’ai trouvé :

		foreach ($cWords as $cWord)	foreach ($words as $i=>$word) {
			$pattern = '/^(' . $cWord . ')+(' . $endings . ')*+(\W)*$/i';
			$words[$i] = preg_replace($pattern, str_repeat('#', strlen($word)), $word);
		}

le \W ajouté permet d’inclure les mots même si une ponctuation est mise en fin. Ca fonctionne comme je veux du coup, car si la ponctuation est seule, elle n’est pas prise en compte !
Edité le 17/06/2011 à 13:58

un client pour le best’Of du bon coin : www.leboncoin.fr…
:MDR

Mon dieu, l’intérieur :MDR
Edité le 19/06/2011 à 22:40

while(true){
echo’libérez internet, tuez un proxy d’entreprise’;
}

avec le recul, je ne suis pas d’accord.
ça limite la charge sur le réseau (pas de youtube), ça évite les sites nids à malware/scarewares ou autres cochonneries, et ça améliore le rendement de certains qui passeraient leur journée à glander.

Cet argument est largement invalidé par de nombreuses études qui démontre le contraire : un employé qui à la possibilité d’utiliser Internet à son entreprise pour ses besoin personnelles à une productivité d’environ 10% supérieur à ceux qui n’en ont pas la possibilité :jap: …

Le filtrage d’Internet, déjà une réalité dans les entreprises

Et puis surtout ça pose des problèmes partout avec différents logiciels qui n’utilisent pas forcément le proxy pour X ou Y raison…

Moi je vote pour couper le net au boulot, ça sert à rien et facebook ça pue :slight_smile:

dans mon message posté durant mes heures de travail, j’ai bien noté le mot “certains” et non pas “tout le monde”.

je fais la différence entre ceux qui vont lire une info rapidement entre 2 projets de ceux qui font tout pour en faire le moins en passant leur temps sur le net.

Moi je peste surtout sur le proxy qui bloque même des sites utiles pour le boulot…
Rien de plus rageant que de trouver la page parfaite qui va tout éclaircir sur google, et après le clic… Access denied.

Et non, pas accès au cache de google, ça serait trop simple :paf:

Du coup, hop smartphone pour accéder à la page en question :pfff:

Sinon le blocage des youtube/dailymotion/fessebouc & co je trouve ça normal.

Essaie de passer par la version https de google, en général ça n’est pas filtré (https oblige) donc tu peux afficher le cache :slight_smile:
Edité le 23/06/2011 à 23:17

Hum, tu es sûr que le proxy n’est pas aussi capable de filtrer l’https justement ? à défaut, c’est théoriquement possible vu que c’est toi même qui fout un man in the middle, suffit que ce dernier t’envoie une version customisée du certificat du serveur distant, et zoup.

J’essaierai :jap:

Sur le principe c’est possible à faire. En pratique ça demande pas mal de ressources pour l’appliquer sur tout un réseau d’entreprise, donc c’est rarement fait.