Aller au contenu

captain_torche

Membre+
  • Compteur de contenus

    7 531
  • Inscrit(e) le

  • Dernière visite

Tout ce qui a été posté par captain_torche

  1. Ils délimitent l'expression régulière. Comme je ne les utilise quasiment jamais dans mes motifs, ça m'évite d'avoir à les échapper.
  2. Il faut que tu définisses le motif à capturer Actuellement, tu ne peux rien capturer, faute de parenthèses. Essaye avec ça : $reg = '#<img src="(.+\.jpg)"#';
  3. J'ai remodifié l'article, un petit oubli s'y était glissé. Je précise que ces fonction ne fonctionnent que pour de l'UTF-8. Si tes fichiers sont encodés autrement, tu peux utiliser ces fonctions : function enleve_accents($chaine) { $reg = '/&(.)(acute|grave|circ|uml|cedil|ring|tilde|slash);/'; return preg_replace($reg, '\1', htmlentities($chaine)); } function enleve_ligatures($chaine) { $tab = array('œ' => 'oe', 'Œ' => 'OE', 'ß' => 'ss'); foreach($tab as $key => $value) $chaine = str_replace($key, $value, $chaine); $reg = '|&([a-zA-Z]{2})lig;|'; return preg_replace($reg, '\1', $chaine); } function suppr_speciaux($chaine) { $reg = '|(&[a-zA-Z0-9]*|U'; return preg_replace($reg, '-', $chaine); } function nettoie_url($texte) { if(is_utf8($texte)) $texte = utf8_decode($texte); $texte = strtolower(suppr_speciaux(enleve_ligatures(enleve_accents($texte)))); $reg = '|([^a-z0-9]+)|'; $texte = preg_replace($reg, '-', $texte); return trim($texte, '-'); } function is_utf8($string) { return !strlen( preg_replace( ',[\x09\x0A\x0D\x20-\x7E]' # ASCII . '|[\xC2-\xDF][\x80-\xBF]' # non-overlong 2-byte . '|\xE0[\xA0-\xBF][\x80-\xBF]' # excluding overlongs . '|[\xE1-\xEC\xEE\xEF][\x80-\xBF]{2}' # straight 3-byte . '|\xED[\x80-\x9F][\x80-\xBF]' # excluding surrogates . '|\xF0[\x90-\xBF][\x80-\xBF]{2}' # planes 1-3 . '|[\xF1-\xF3][\x80-\xBF]{3}' # planes 4-15 . '|\xF4[\x80-\x8F][\x80-\xBF]{2}' # plane 16 . ',sS', '', $string) ); }
  4. Je viens de mettre l'article à jour. Les caractères ligaturés devraient être transformés, si tant est que le jeu de caractère soit bien UTF-8.
  5. Oui, c'est le bug dont je parlais quelques messages plus haut. Je le corrigerai aujourd'hui, si j'ai du temps.
  6. Rien de bien complexe; il te suffit de faire un script qui parcourt chaque élément de ta base
  7. Passe les paramètres en premier, et l'ancre après : <a href="solutions8.php?site=mda&accueil=azer#messagerie">
  8. C'est également ce qu'on m'avait dit au lycée, mais il est apparemment toujours d'actualité
  9. Non, je ne pense pas. S'ils avaient voulu simplifier, ils auraient fait comme youtube.
  10. Il faudra encore que je l'améliore, un collègue allemand me faisait remarquer que les ligatures n'étaient pas prises en compte (e dans l'o, eszett, etc). Merci pour toutes ces précisions !
  11. Ils doivent avoir une table de correspondance. Malheureusement, comme tu n'y a pas accès, tu vas avoir du mal à le gérer.
  12. J'imagine qu'en base de données, ton entrée est renseignée comme "L'estaque", et non pas "l-estaque". Il faudrait, pour chacune de tes entrées, ajouter un champ "url", où tu mettrais ton nom sous forme d'url. Ta requête irait alors vérifier ce champ.
  13. Effectivement, cela doit dépendre de la manière dont tu gères ta réécriture. Je t'invite à créer un nouveau sujet avec plus de précisions.
  14. Un contenu présent sur deux sites ne peut que nuire au référencement. Dansle principe, Google considère ces contenus comme un seul, placé à deux endroits différents. Il y a ce qu'on appelle "duplicate content". Il n'affiche alors qu'une page sur les deux (ou trois, ou plus) des pages l'affichant. Ce qui risque d'arriver, c'est que le site le plus important des deux (à supposer qu'il y ait une différence d'importance entre les deux sites) soit seul à remonter dans les résultats de recherche sur ce contenu, pénalisant de fait l'autre site.
  15. Le doctype n'y change effectivement rien (Toutefois, l'avoir changé est bénéfique, celui de dreamweaver étant incomplet). Tu peux essayer d'ajouter cette balise (ou de la modifier) entre tes balises <head> et </head> <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
  16. Ton souci vient du fait qu'à cause de l'underscore, et bien qu'il n'y ait que des chiffres, ton classement se fait par ordre alphabétique. Pour corriger ce souci, il faudrait ajouter une étape : utiliser le numéro de la photo comme clé d'un array temporaire, puis trier ce dernier. Ca pourrait donner quelque chose comme ça : <?php $tab_photos = array('8_1.jpg', '8_10.jpg', '8_11.jpg', '8_12.jpg', '8_2.jpg', '8_3.jpg', '8_4.jpg', '8_5.jpg', '8_6.jpg', '8_7.jpg', '8_8.jpg', '8_9.jpg'); $tab_photos_2 = array(); $reg = '#([0-9]+)_([0-9]+)\.jpg#'; foreach($tab_photos as $value) { preg_match($reg, $value, $matches); $tab_photos_2[$matches[2]] = $value; } ksort($tab_photos_2); ?>
  17. Dans l'idéal, tu devrais raccourcir le h1 pour ne garder que l'essentiel, et mettre le reste du texte dans un paragraphe. Mais tu ne risques pas de pénalité de suroptimisation à cause de ça, c'est sûr.
  18. Non, ce n'est pas de la suroptimisation, ne t'inquiètes pas
  19. J'imagine que tes textes n'ont pas vocation à changer fréquemment. Dans ce cas, ne génère le fichier que s'il n'existe pas encore, puis enregistre-le.
  20. Tu devrais pouvoir gérer tout ça avec FPDF (quoique je ne suis pas sûr pour la page de démarrage des chapitres, mais si ça n'est pas prévu, ça devrait être facilement codable "à la main").
  21. Comme je te le dis, crée juste un script qui envoie tous ces mails, tu t'occuperas de la tâche cron après
  22. Les hauteur et largeur d'une image ne sont pas nécessaires à la validation du code.
  23. Le souci, c'est qu'il faut que tu puisses différencier les commandes non-achevées des commandes achevées (et les commandes non-achevées déjà relancées, histoire de ne pas les spammer). Une fois que tu pourras les identifier, crée un script qui envoie un mail à chacune d'entre elle (et ajoute un champ signifiant que l'e-mail a déjà été envoyé), tu le passeras en tâche cron après.
  24. Pour cela, tu vas devoir créer une tâche cron qui tournera régulièrement (toutes les heures, par exemple), qui retrouve les commandes en question. Comment sont-elles identifiées dans ta base ?
  25. Bon courage, ça implique beaucoup de changements !
×
×
  • Créer...