De combien de caractères pourriez-vous réduire mon horreur ici-présente ?
- $page est un string/numéro de 2 chiffres (pas de virgule ni de signe)
- $page <= $dernierepage
- si $page non valide, $page="00"
if ( preg_match( '/([0-9]){1,2}/', $page ) && (snip)
Autre post :
function formatPage($page,$dernierepage) { if (isset($page) && ereg("[0-9]{1,2}",$page)) {
(snip)
Quant à ereg et preg_match, je vais sérieusement me pencher dessus.
Les expressions rationnelles sont un excellent outil (je ne comprends même pas comment j'ai pu m'en passer si longtemps), mais assez gourmand en ressources machines et ne favorisant pas toujours la lisibilité - bref, à n'utiliser qu'avec un corse et un arménien.
Ici, leur emploi est discutable, l'expression "[0-9]{1,2}" étant remplaçable par strlen() et ctype_digit(). A vrai dire, même strlen() s'avère inutile, une comparaison sur la borne supérieure 99 permettant d'arriver au même résultat à moindre coût.
Mes deux centimes... -- bruno desthuilliers ruby -e "print ''.split('@').collect{|p| p.split('.').collect{|w| w.reverse}.join('.')}.join('@')"
Gill wrote:
if ( preg_match( '/([0-9]){1,2}/', $page ) &&
(snip)
Autre post :
function formatPage($page,$dernierepage) {
if (isset($page) && ereg("[0-9]{1,2}",$page)) {
(snip)
Quant à ereg et preg_match, je vais sérieusement me pencher dessus.
Les expressions rationnelles sont un excellent outil (je ne comprends
même pas comment j'ai pu m'en passer si longtemps), mais assez gourmand
en ressources machines et ne favorisant pas toujours la lisibilité -
bref, à n'utiliser qu'avec un corse et un arménien.
Ici, leur emploi est discutable, l'expression "[0-9]{1,2}" étant
remplaçable par strlen() et ctype_digit(). A vrai dire, même strlen()
s'avère inutile, une comparaison sur la borne supérieure 99 permettant
d'arriver au même résultat à moindre coût.
Mes deux centimes...
--
bruno desthuilliers
ruby -e "print 'onurb@xiludom.gro'.split('@').collect{|p|
p.split('.').collect{|w| w.reverse}.join('.')}.join('@')"
if ( preg_match( '/([0-9]){1,2}/', $page ) && (snip)
Autre post :
function formatPage($page,$dernierepage) { if (isset($page) && ereg("[0-9]{1,2}",$page)) {
(snip)
Quant à ereg et preg_match, je vais sérieusement me pencher dessus.
Les expressions rationnelles sont un excellent outil (je ne comprends même pas comment j'ai pu m'en passer si longtemps), mais assez gourmand en ressources machines et ne favorisant pas toujours la lisibilité - bref, à n'utiliser qu'avec un corse et un arménien.
Ici, leur emploi est discutable, l'expression "[0-9]{1,2}" étant remplaçable par strlen() et ctype_digit(). A vrai dire, même strlen() s'avère inutile, une comparaison sur la borne supérieure 99 permettant d'arriver au même résultat à moindre coût.
Mes deux centimes... -- bruno desthuilliers ruby -e "print ''.split('@').collect{|p| p.split('.').collect{|w| w.reverse}.join('.')}.join('@')"
J'ai remis le test sur la longueur de la chaine, d'une part parce que ça faisait partie des specs, d'autre part parce qu'il est probable que ça s'avère moins coûteux à l'usage.
-- bruno desthuilliers python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for p in ''.split('@')])"
J'ai remis le test sur la longueur de la chaine, d'une part parce que ça
faisait partie des specs, d'autre part parce qu'il est probable que ça
s'avère moins coûteux à l'usage.
--
bruno desthuilliers
python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for
p in 'onurb@xiludom.gro'.split('@')])"
J'ai remis le test sur la longueur de la chaine, d'une part parce que ça faisait partie des specs, d'autre part parce qu'il est probable que ça s'avère moins coûteux à l'usage.
-- bruno desthuilliers python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for p in ''.split('@')])"