Ajouter une occurence sur une chaine

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Ajouter une occurence sur une chaine

par R0_0T » 20 nov. 2006, 16:35

Elle peut etre -dans certain, cas je l'avoue : P,- utile, tout depend, je travaille sur un projet de média et le nombre de lien à traité est énorme, je code donc une fonction pour me simplifier la tache, au départ je voulais m'assurer s'il y'avait une fonction semblable.

Je voiais plutot une fonction de ce style

fonction(string string, string injecte, const emplacement)

fonction("www.google.com","http://","LEFT"); // par exemple

par Ajoloca » 20 nov. 2006, 16:27

Re,
Pour la barre de fer, je m'en f... mois aussi on m'a prété une armure :lol:

C'est vrai que ta fonction est bien plus simplifiée et fait ce qui est demandé, la mienne je l'ai prise d'une classe et elle permet aussi d'insérer une chaine dans une autre à une position donné.
Je l'ai juste (mal) adaptée.

par Ryle » 20 nov. 2006, 16:17

On est pas jaloux.. on t'attends juste à la sortie du forum avec une barre de fer qu'on m'a prêté pour l'occasion ;)

le switch est peut être superflu dans la fonction, un simple if/else étant suffisant...
Pour ma part, la fonction je l'aurais vu bien plus simplifiée :
function concat($chaineGauche, $chaineDroite) {
  return $chaineGauche . $chaineDroite;
}
Ce qui n'aurait, je vous l'accorde, absolument aucun intérêt .. cqfd donc ;)

par Ajoloca » 20 nov. 2006, 16:10

Re,
ne soyez pas jaloux, c'est juste un oubli !
@R0_0T

Si tu tiens vraiment à créer une fonction, bien que je ne vois pas trop l'intérêt, tu peux avoir QQ chose du style
define ('DEB', 0);
define ('FIN', 1);
function strCat ($strSrc, $strConcat, $sens = FIN){
   switch ($sens){
      case DEB : return ($strConcat . $strSrc);
      case FIN : 
      default : return ($strSrc . $strConcat);
   }
}

par jojolapine » 20 nov. 2006, 15:51

pfff y en a que pour ajoloca [-( nous autres (Ryle et moi), on peut sortir....

par R0_0T » 20 nov. 2006, 15:48

Merci Ajoloca c'est bien ce que je cherchais : D autant pour moi.
Je voulais savoir s'il y'avait un autre moyen de concaténation à part le '.' apparement non, mais il fera l'affaire. merci

Edit: Excusez moi ; ) merci à tous en particulier à Ryle, jojolapine et Ajoloca :D

par Ajoloca » 20 nov. 2006, 15:39

Re,
Je ne comprends pas!
$protocole = "http://";
$adresse = "www.google.com";
$adresse = $protocole . $adresse;
echo $adresse; // Affichera http://www.google.com

par R0_0T » 20 nov. 2006, 15:33

Et euh..... y a une raison pour laquelle une simple concaténation ne suffirait pas ?
$buffer = "34";
$buffer = $buffer . "56"; // donne 3456
// ou 
$buffer.= "56"; // donne 3456

$buffer = "34";
$buffer = "12" . $buffer ; // donner 1234
Sinon tu as la fonction str_pad() qui s'en rapproche et qui a d'autres avantages, mais ça me parait un peu lourd juste pour concatener deux chaines :)
Un exemple concert:

Un utilisateur entre www.google.com, je souhaite rendre le lien en http://www.google.com .


merci, je vais essaier str_pad(), mais elle est un peu handicapante : / à cause de l'int pad_length

par Ajoloca » 20 nov. 2006, 15:28

Bonjour,

En PHP l'opérateur de concaténnation c'est le '.' (point)

un petit exemple, un.
$chaine = "une chaine";
$deb = "Le début d'";
$fin = " et sa fin";
$chaine = $deb . $chaine . $fin;
echo $chaine; // Affichera Le début d'une chaine et sa fin

par jojolapine » 20 nov. 2006, 15:28

euh tu n'as pas besoin d'une fonction pour ça...
$buffer="23";
//on ajoute au début
$buffer="12".$buffer;
//ou à la fin
$buffer=$buffer."45";
//et même mieux
$buffer.="67";
après faire une fonction si tu veux, mais bon ... :-k je vois pas l'intéret

par Ryle » 20 nov. 2006, 15:26

Et euh..... y a une raison pour laquelle une simple concaténation ne suffirait pas ?
$buffer = "34";
$buffer = $buffer . "56"; // donne 3456
// ou 
$buffer.= "56"; // donne 3456

$buffer = "34";
$buffer = "12" . $buffer ; // donner 1234
Sinon tu as la fonction str_pad() qui s'en rapproche et qui a d'autres avantages, mais ça me parait un peu lourd juste pour concatener deux chaines :)

Ajouter une occurence sur une chaine

par R0_0T » 20 nov. 2006, 15:21

Bonjour, bonsoir à tous : )

(HS: je découvre le forum : ))

Je cherche une fonction permettant de rajouter au debut ou à la fin d'une chaine, une occurence.
J'ai pourtant cherché sans succes, je ne suis pas sur de son existence.

Voila un peu la fonction de mes rêves ; >

Ce n'est qu'un exemple:

<? $buffer = "34"; str_ajout_debut("12", $buffer); ?> //ceci devra donner 1234

<? $buffer = "12"; str_ajout_fin("34", $buffer); ?> // 1234

Merci !