Page 1 sur 2

Extraction de caractères d'un fichier texte

Posté : 26 mai 2010, 16:23
par krapoulos
Bonjour et merci d'avance pour votre aide.

Pour ma culture perso et pour mon enrechissement toujours perso je cherche à faire un petit script .

j'ai un fichier de 10 lignes comme tel.

--------------------------------------------------------------------------------------
"nom prenom" <[email protected]>, <[email protected]>, "nom prenom" <[email protected]>; <[email protected]>; [email protected], [email protected]; "nom prenom" <[email protected]>, <[email protected]>, "nom prenom" <[email protected]>; <[email protected]>; [email protected], [email protected]; "nom prenom" <[email protected]>, <[email protected]>, "nom prenom" <[email protected]>; <[email protected]>; [email protected], [email protected]; "nom prenom" <[email protected]>, <[email protected]>, "nom prenom" <[email protected]>; <[email protected]>; [email protected], [email protected]; "nom prenom" <[email protected]>, <[email protected]>, "nom prenom" <[email protected]>; <[email protected]>; [email protected], [email protected]; "nom prenom" <[email protected]>, <[email protected]>, "nom prenom" <[email protected]>; <[email protected]>; [email protected], [email protected]; "nom prenom" <[email protected]>, <[email protected]>, "nom prenom" <[email protected]>; <[email protected]>; [email protected], [email protected]; "nom prenom" <[email protected]>, <[email protected]>, "nom prenom" <[email protected]>; <[email protected]>; [email protected], [email protected];
---------------------------------------------------------------------------------------

J'essaye deseperement à l'aide des expressions régulieres comme ereg - explode de lire le fichier et d'extraire les adresses mails pour les mettre dans un nouveau fichier sous la forme :

[email protected];
[email protected];
[email protected];
[email protected];
[email protected];
[email protected];
[email protected];
[email protected];
[email protected];
[email protected];

Donc en ne gardant que les adresses mails.

Mais voilà mon souci je suis un bleu en php et je rame je rame :shock: :shock:

je cherche à faire un petit script qui lise le texte et qui m'extrait les adresses mail.
Mais l'homme (surtout moi :oops: ) à des limites.

Merci d'avance

Re: Extraction de caractères d'un fichier texte

Posté : 26 mai 2010, 16:35
par stealth35
t'arrive pas avec un regexp ?

Re: Extraction de caractères d'un fichier texte

Posté : 26 mai 2010, 16:39
par krapoulos
Non, je dois ###### dans mon script car je recupere le même fichier que l'original.

Si qql1 à une idée ou un debut de script je suis preneur.

Merci d'avance

Re: Extraction de caractères d'un fichier texte

Posté : 26 mai 2010, 16:42
par mere-teresa
Modération :
PHPFrance n'est pas un site de distribution de scripts gratuits,
ni de débuggage de scripts téléchargés et utilisés sans compréhension.

Merci de prendre le temps de lire les règlements.

Re: Extraction de caractères d'un fichier texte

Posté : 26 mai 2010, 16:44
par mere-teresa
Une fois cela dit : que veux tu faire ?

Split sur la virgule, puis ôter les chevrons, non ?
Tu peux utiliser la commande split() sur la chaîne (avec file_get_contents() pour récup le fichier) ou la commande file() sur ton fichier pour tout mettre dans un tableau.
A ta convenance.

Re: Extraction de caractères d'un fichier texte

Posté : 26 mai 2010, 16:44
par stealth35
Non, je dois ###### dans mon script car je recupere le même fichier que l'original.

Si qql1 à une idée ou un debut de script je suis preneur.

Merci d'avance

trouve le regexp de l'email apres ca se fera tout seul :wink:

Re: Extraction de caractères d'un fichier texte

Posté : 26 mai 2010, 16:55
par krapoulos
Merci pour ta réponse

j'ai déjà le regexp de l'email mais je n'ai pas le savoir (surtout en php) d'extraire la variable (le regexp de l'email) du texte.

Merci pour ta dispo.

Re: Extraction de caractères d'un fichier texte

Posté : 26 mai 2010, 16:57
par stealth35

Re: Extraction de caractères d'un fichier texte

Posté : 26 mai 2010, 16:57
par mere-teresa
Tu dois le faire une fois ou dans un script que tu rejoueras ?

Re: Extraction de caractères d'un fichier texte

Posté : 26 mai 2010, 17:01
par krapoulos
Merci pour ta réponse

j'ai un formulaire ou je rentre tout le texte en brut et après un TEXTAREA qui m'affiche toutes les adresses email les unes sous les autres.

Cdlt

Re: Extraction de caractères d'un fichier texte

Posté : 27 mai 2010, 10:54
par krapoulos
Re bonjour,

J'ai fait un ch'ti script :shock:
<?
if ($_POST) 
{
	$texte=$description_source;
	$texte=str_replace(" ", "", $texte);
	$texte=str_replace(",", ";\n", $texte);
	$texte=str_replace("\'", ";\n", $texte);
	$texte=str_replace('\"', ";\n", $texte);
	$texte=str_replace('\\', ";\n", $texte);
	$texte=str_replace("<br />", "\n", $texte);
	$texte=ereg_replace("(<|>|\;\,)", ";\n", $texte);
	$texte=str_replace(';;', ";\n", $texte);
    //$description=nl2br($texte); 
	$description=$texte; 
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
?>
<TABLE cellSpacing=0 cellPadding=0 width="770" border="0" align="center">
	<FORM enctype="multipart/form-data" name="formulaire" action="test.php" method="post">
	<TR valign="top">
		<TD align="right">
			<DIV >description source*</DIV>
		</TD>
		<TD colspan="2">
		<br>
			<TEXTAREA  id="description_source" name="description_source" rows="19" cols="100"><? echo $description_source ?></TEXTAREA>
		</TD>
	</TR>
	<TR valign="top">
		<TD align="right">
			<DIV >description finale</DIV>
		</TD>
		<TD colspan="2">
		<br>
			<TEXTAREA id="description" name="description" rows="19" cols="100"><? echo $description ?></TEXTAREA>
		</TD>
	</TR>
	<TR>
		<TD colspan="3" align="center">
		<br>
			<INPUT  type="submit" value="Go!" name="submit" >
		</TD>
	</TR>
	</FORM>
</TABLE>
Mais j'ai un problème lorsque je rentre le fichier texte ds le post.
je veux comme résultat
mais j'obtiens
Comment puis je modifier mon script pour avoir le résultat escompté.

Merci d'avance

Re: Extraction de caractères d'un fichier texte

Posté : 27 mai 2010, 11:01
par stealth35
tu remplaces les ', ' par ";\n"

Re: Extraction de caractères d'un fichier texte

Posté : 27 mai 2010, 11:07
par krapoulos
Merci
mais je suis obligé de modifier les , par des ;\n car j'ai des , a la fin de certaines adresses.
Moi je veux a la fin retirer tous les ; et les lignes vides pour ne garder que la structure finale
merci pour votre aide

Re: Extraction de caractères d'un fichier texte

Posté : 27 mai 2010, 11:12
par stealth35
trouve le regexp de l'email et ca sera plus simple...

Re: Extraction de caractères d'un fichier texte

Posté : 27 mai 2010, 13:57
par krapoulos
Re,

Je n'arrive pas à inserer le regexp à mon script

$regexp = "^([_a-z0-9-] )([\. ][_a-z0-9-] )*@([a-z0-9-] )(\.[a-z0-9-] )*(\.[a-z]{2,4})$";

y a t il une ame charitable 8-| 8-|

merci d'avance