01.
02.
03.
04.
05.
06.
07.
08.
09.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
237.
238.
239.
240.
241.
242.
|
|
<?php
/******************************************************************************/
/* */
/* __ ____ */
/* ___ / / ___ / __/__ __ _____________ ___ */
/* / _ \/ _ \/ _ \_\ \/ _ \/ // / __/ __/ -_|_-< */
/* / .__/_//_/ .__/___/\___/\_,_/_/ \__/\__/___/ */
/* /_/ /_/ */
/* */
/* */
/******************************************************************************/
/* */
/* Titre : Classe string regroupant diverses fonction string PHP */
/* */
/* URL : http://www.phpsources.org/scripts498-PHP.htm */
/* Auteur : bemale */
/* Date édition : 17 Mars 2009 */
/* Website auteur : http://frederic.morinfj.free.fr */
/* */
/******************************************************************************/
/*
* Created on 09 Mars 2009
*
* Une petite classe string pour la nostalgie elle sert à pas grand
* chose mais ça m'amuse
*
* J'ai pompé le nom des methodes de la classe java String
* http://www.siteduzero.com/tutoriel-3-10328-les-methodes-de-classe.html
/******************************************************************************/
class string
{
var $chaine;
/*
* Constructor
*/
function string($chaine='')
{
// si c'est un objet de la classe string
if (is_a($chaine,'string'))
return $this->chaine=$chaine->get_chaine();
elseif(is_string($chaine))
return $this->chaine=$chaine;
else
return false;
}
/*
* Fonctions diverses et avariées
*/
function extraire_chaine_entre($chaine_deb,$chaine_fin)
{
$extr='';
$debut = strpos($this->chaine,$chaine_deb);
$fin = strrpos($this->chaine,$chaine_fin);
$extr = substr($this->chaine,$debut+strlen($chaine_deb),$fin-($debut+
strlen($chaine_deb)));
return new string($extr);
}
/*
* Mise en minuscule
*/
function toLowerCase()
{
return new string(strtolower($this->chaine));
}
/*
* Mise en majuscule
*/
function toUpperCase()
{
return new string(strtoupper($this->chaine));
}
/*
* Première lettre de la chaîne en majuscule
*/
function ucfirst() {
return new string(ucfirst($this->chaine));
}
/*
* Première lettre de chaque mots de la chaîne en majuscule
*/
function ucwords() {
return new string(ucwords($this->chaine));
}
/*
* Concaténer la chaine de l'instance avec une autre chaine
*/
function concat($variable)
{
if (is_a($variable,'string'))
return new string($this->chaine.$variable->get_chaine());
elseif (is_string($variable))
return new string($this->chaine.$variable);
else
return new string($this->chaine);
}
/*
* Longueur de la chaîne
*/
function length()
{
return strlen($this->chaine);
}
/*
* Vérifie si les deux chaines sont identiques
*/
function equals($variable)
{
// si c'est un objet de la classe string
if (is_a($variable,'string'))
return ($this->chaine == $variable->get_chaine());
elseif(is_string($variable))
return ($this->chaine == $variable);
else
return false;
}
/*
* renvoi le caractère de la position 0 est le premier caractére
*/
function charAt($pos)
{
if ($pos>=0 && $pos<=$this->length()-1)
return substr($this->chaine,$pos,1);
else
return false;
}
/*
* Comme son nom l'indique, elle permet d'extraire une sous-chaîne de
* caractères d'une chaîne de caractères.
* Cette méthode prend 2 entiers comme arguments.
* Le premier définit le début de la sous-chaîne à extraire inclus,
* le deuxième correspond au dernier caractère à extraire exclus.
* Et le premier caractère est aussi le numéro 0.
*/
function substring($deb,$fin)
{
if (($deb>=0 && $deb<=($this->length()-1)) && ($deb<$fin) && ($fin<=(
$this->length())))
{
return new string(substr($this->chaine,$deb,($fin-$deb)));
}
else
return false;
}
/*
* Retourne la position dans la chaine de la chaîne passé en paramètre
*/
function indexOf($chaine)
{
return (!(strpos($this->chaine,$chaine) === false))?(strpos($this->
chaine,$chaine)):-1;
}
/*
* Retourne la dernière position dans la chaine de la chaîne passé en paramètre
*/
function lastIndexOf($chaine)
{
//Test de la valeur false pour éviter de renvoyer -1 si le caractère est en 1°
// place
return ((strrpos($this->chaine,$chaine) === false))?-1:(strrpos($this->
chaine,$chaine));
}
/*
* Suppression d'une sous string dans la chaine accepte les string ou les
objets 'string'
*/
function supprime($substr)
{
// si c'est un objet de la classe string
if (is_a($substr,'string'))
{
$substr = $substr->get_chaine();
}
$long = strlen($substr);
$tmp = new string($this->chaine);
while ($tmp->indexOf($substr) != -1)
{
if ($tmp->indexOf($substr)!=0)
$tmp = $tmp->substring(0,$tmp->indexOf($substr))->concat($tmp->
substring($tmp->indexOf($substr)+$long,$tmp->length()));
else
$tmp = $tmp->substring($tmp->indexOf($substr)+$long,$tmp->length
());
}
return $tmp;
}
/*
* Remplace un motif par un autre
*/
function remplace ($chaine_remplace,$chaine_remplacante)
{
// si c'est un objet de la classe string
if (is_a($chaine_remplace,'string'))
$chaine_remplace = $chaine_remplace->get_chaine();
// si c'est un objet de la classe string
if (is_a($chaine_remplacante,'string'))
$chaine_remplacante = $chaine_remplacante->get_chaine();
return new string(str_ireplace($chaine_remplace,$chaine_remplacante,
$this->chaine));
}
/*
* Getteur
*/
function get_chaine()
{
return $this->chaine;
}
/*
* Renvoi la chaine sous forme de tableau
*/
function get_tab()
{
return str_split($this->chaine);
}
}
?>
|