Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Besoin d'astuce Substr [ Divers / Général ] (jdaviaud)

mercredi 28 juin 2006 à 11:17:17 | Besoin d'astuce Substr

jdaviaud

Membre Club
Voila, j'ai besoin d'utiliser la fonction substr pour n'afficher que les 50 premiers caractères d'une phrase si elle est plus longue

le probleme c'est que je fais un site multi langues dont le francais et le grec

pour le francais pas de probleme, ca me donne le résultat escompté par contre pour le grec qui pour des questions de compatibilité utilise des caractères de la forme ο et autres ben au lieu de me couper a 50 caractères va me couper a 7 ou 8

quelqu'un aurait une astuce pour qu'il me face ca tsur la chaine finale et non sur le code HTML de départ ?

merci d'avance

mercredi 28 juin 2006 à 11:56:31 | Re : Besoin d'astuce Substr

DiGhan

Salut,
peut etre une solution qui utilise les expressions régulières, voici l'algo:
SI versionSite == 'fr' ALORS
   ecrire (découper($chaine));
SINON
   sous_chaine = '';
   carac = 0;
   FAIRE
      SI match(masque,chaine,correspondances) ALORS
         POURiter (correspondances à tempon)
            sous_chaine .= tempon
         FINPOURiter
         carac++;
      FINSI
   TQ (carac<50);
FINSI

Je te laisse la dection de la langue et le substr, voici le code utilisant les regex:

$substring = '';
$char = 0;
do {
   $pattern = "`^(&#[0-9]{3})`";
   if (preg_match($pattern,$my_string,$matches)) {
      foreach ($matches as $buffer) {
         $substring .= $buffer;
      }
      $char++;
   }
} while ($char < 50);

En supposant que tous les caractères grecs sont formés de la façon que tu as décrite.


mercredi 28 juin 2006 à 12:09:16 | Re : Besoin d'astuce Substr

jdaviaud

Membre Club
pourrais tu me documenter un petit peu ta fonction ? car je n'y connais malheuresement pas grand chose aux expressions regulieres

j'ai fait un teste tel quel de ta fonction avec
$my_string = "&#922;&#941;&#957;&#964;&#961;&#959; &#928;&#959;"

et comme resultat de $substring ca m'a retourné "&#922&#922&#922&#922&#922&#922&#922&#922"

mercredi 28 juin 2006 à 12:49:24 | Re : Besoin d'astuce Substr

DiGhan

J'ai fait compliqué pour rien. de plus mon masque n'est pas bon.
Voici une version plus soft et qui fonctionne bien (aprés test contrairement à la 1ere).

$my_string = "&#922;&#941;&#957;&#964;&#961;&#959;&#928;&#959;";
$substring = '';
$stop = FALSE;
$i = 0;
$num = 0;

do {
   $char = substr($my_string,$i,6);
   if ($char != "") {
      echo "$char<br>";
      $i += 6;
      $num++;
   } else {
      $stop = TRUE;
   }
} while (!$stop && $num < 50);
echo "Il y a $num caractères dans la chaine \"$my_string\"";

On boucle tant que $stop est faux et que le nombre de caractères est inférieur à 50.
Dans cette boucle, on récupère le caractère en déplaçant le pointeur de 6 chars, si la chaine est non vide on affiche sinon on retourne false et sort de la boucle.


mercredi 28 juin 2006 à 14:11:02 | Re : Besoin d'astuce Substr

malalam

Administrateur CodeS-SourceS
Ouais, sinon tu peux t'en sortir en installant l'extension mbstring, en attendant mieux.
[ Lien ]

mercredi 28 juin 2006 à 14:12:46 | Re : Besoin d'astuce Substr

jdaviaud

Membre Club
oui j'avais commencé à faire comme ca mais dans ce cas ca fonctionne qu'avec une chaine toute attachée sans espaces, ponctuation ... c'est la que je bloque justement

mercredi 28 juin 2006 à 14:23:33 | Re : Besoin d'astuce Substr

DiGhan

Oui en effet.
Malgrés tout, je pense que pour un traitement plus complexe, il faut utiliser les expReg. Le problème c'est que je n'ai aucune connaissance dans les caractères grecs. Si tu as une adresse avec tous les caractères encodés avec le jeu grec, je pourrais peut etre t'aider d'avantage.




Cette discussion est classé dans : probleme, caractères, astuce, substr, francais


Répondre à ce message

Sujets en rapport avec ce message

Probleme de caractères ! [ par LePROduHTML ] Bonjour tout le monde !J'ai fait un petit forum en php sur mon site pour récupérer les commentaires des visiteurs mais dès qu'il y a des  '   ou des  Tronquer un texte contenant des balises <html> avec substr [ par tonic1 ] Bonjour à tous, je suis confronté à un petit probleme, et pas moyen de trouver une solution sur le forum.J aimerai decoupé un texte avec la fonction s Conversion chaine de caractères en date fr avec substr [ par bruno3591 ] Bonjour,Je suis débutant en php. Pouvez-vous me dire si la solution que j'ai trouvé pour convertir ma chaine en date est bonne, trop longue ou autre.. probleme de 0 avec substr [ par scoubydog ] Bonjour, je vous explique mon probleme :Je travaille sur un petit module qui me permet de savoir en tapant un code postal francais si c'est au nord ou Probleme d'apostrophe sur un UPDATE [ par gorc ] Bonjour j'ai un problème pour l'update de données d'une base sql via un menu déroulant, l'affichage se fait correctement, la creation de la base aussi date [ par chourouk86 ] Salut,J'ai fait un code pour un affichage de deux dates (date de jour et date de lendemain) le problème c'est que je veux faire un test de l'année si probleme de logique requete sql ! [ par clement1138 ] onjour , voila ma requete : $req="select id_blocage from blocage_horaire where id_emp=' ".$tab['id_emp']." ' AND (debut_blocage >=' ".$time_rdv_prevu Probleme avec l'application open source giml [ par simoww ] Bonjours;Je viens de tester l'application GIML, J'ai tous configuré ( User, domaines, ressources...............) :):)Problème :Lorsque je veux enregis POO - probleme de conception [ par Diablo62 ] Bonjour, Je débute en POO et j 'ai un petit soucis de conception j 'ai du mal a faire les liens entre mes objets.J'ai plusieurs objets : usager, utili Liste deroulante [ par ouzb ] Bonjour a tous, Je vous expose mon probleme, je développe une application en php mysql. Je voulais faire une recherche avec une liste deroulante. Jusq


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,874 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.