J'ai trouvé le pattern de l'expression régulière sur le forum Anglais, ainsi que la fonction _ArrayUnique que j'ai recopié tel quel.
Vous constaterez aussi qu'il n'y à aucun Include.
Pour faire au plus simple, je n'ai pas mis les contrôles d'ouverture et écriture des fichiers.
Code : Tout sélectionner
#cs ----------------------------------------------------------------------------
AutoIt Version : 3.2.12.0
Auteur: Tlem
Fonction du Script :
Extraction des adresses Email d'une page HTML avec filtrage de doublons.
#ce ----------------------------------------------------------------------------
$InputFile = "Recup_Email.htm"
$OutputFile = "Liste_Email.txt"
$File = FileRead($InputFile)
$aEmail = StringRegExp($File, "mailto:([A-Za-z0-9._%-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4})", 3)
If Not @error Then
$aFilteredEmail = _ArrayUnique($aEmail, '', 0)
Dim $Res
For $i = 1 To $aFilteredEmail[0]
$Res &= $aFilteredEmail[$i] & @CRLF
Next
FileWrite($OutputFile, $Res)
EndIf
ShellExecute($OutputFile)
Exit
Func _ArrayUnique(ByRef $aArray, $vDelim = '', $iBase = 1, $iUnique = 1)
If $vDelim = '' Then $vDelim = Chr(01)
Local $sHold
For $iCC = $iBase To UBound($aArray) - 1
If Not StringInStr($vDelim & $sHold, $vDelim & $aArray[$iCC] & $vDelim, $iUnique) Then _
$sHold &= $aArray[$iCC] & $vDelim
Next
Return StringSplit(StringTrimRight($sHold, StringLen($vDelim)), $vDelim)
EndFunc ;==>_ArrayUnique