Cancellare una Stringa di testo da un file txt

Doctorv

Nuovo Utente
13 Lug 2013
6
0
0
Salve,
Avrei un problema con la cancellazione di alcune righe di testo da un file txt.

In pratica io nel file txt ho circa 3500 email, solo che in alcune righe ci sono delle parole-frasi che non sono email.

Vorrei fare in modo che quelle frasi-parole spariscano, lasciando solo le e-mail.

Vi ringrazio in anticipo.
 

Doctorv

Nuovo Utente
13 Lug 2013
6
0
0
Ma non ce la possibilità di cancellare il contenuto della riga che non contiene la '@' ?
 

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
Se il tuo file è scritto in questo modo (ad esempio):

[email protected]
ciao oggi è un bel giorno
[email protected]
[email protected]

Allora se devi eliminare la seconda riga basta lavorare riga per riga e alla fine scrivere tutto su un nuovo file.
PHP:
$rows = file('testo.txt', FILE_SKIP_EMPTY_LINES);

foreach ($rows as $row_num => $row) {
//controllo con una regex che ci siano le @ nella riga.
...
//prendo la riga e la aggiungo a una variabile che contiene tutto il testo da scrivere poi sul file.
    $testo.= $row;
}
file_put_contents('testo.txt', $testo);
 

Doctorv

Nuovo Utente
13 Lug 2013
6
0
0
Salve...
Ho provato a fare il codice però c'è un problema mi dà questi errori :
Notice: Undefined variable: testo in C:\Program Files\EasyPHP-12.1\www\stringa non valida\prova.php on line 21

Fatal error: Cannot redeclare verifica() (previously declared in C:\Program Files\EasyPHP-12.1\www\stringa non valida\prova.php:7) in C:\Program Files\EasyPHP-12.1\www\stringa non valida\prova.php on line 7


Il codice che ho inserito è questo:
PHP:
<?php
$rows = file('email.txt', FILE_SKIP_EMPTY_LINES); 

foreach ($rows as $row_num => $row) { 

function verifica($modello_email){
$controllo = ereg("^[^@ ]+@[^@ ]+\.[^@ \.]+$", $modello_email);
if ($controllo)
{
  print("<p><La email che hai inserito è OK!");
}
 else 
{ 
	
	print("<p><i>Opss...Riprova</i></p>");
}
}
 
    $testo.= $row; 
} 
file_put_contents('solo_email.txt', $testo); 
?>

Dov'è che ho sbagliato?


Scusatemi, io sono solo all'inizio del PHP!
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Non puoi definire una funzione in un ciclo, o sarà definita più volte. Inoltre le funzioni ereg sono deprecate in favore delle PCRE. Nel caso dell'email, poi, puoi usare direttamente filter_var.
PHP:
<?php
$rows = file('email.txt', FILE_SKIP_EMPTY_LINES);

foreach ($rows as $index => $row) {
    if (!filter_var(trim($row), FILTER_VALIDATE_EMAIL)) {
        unset($rows[$index]);
    }
}

file_put_contents('solo_email.txt', implode('', $rows));
 
Ultima modifica:
Discussioni simili
Autore Titolo Forum Risposte Data
L php file di testo(db) cancellare una stringa Database 0
L php file di testo(db) cancellare una stringa PHP 1
Cosina Cancellare una specifica email da un elenco in un file txt PHP 3
S Cancellare una riga MYSQL PHP 1
Cosina [PHP] Cancellare una riga da un file di testo in base al nome PHP 2
Cosina [PHP] Cancellare una riga da un file txt in base alla data PHP 1
trattorino [PHP] sql aggiungere dato in una tabella senza cancellare contenuto PHP 6
Trapano [PHP] Cancellare file da una cartella.... PHP 5
JackIlPazzo Sostituire una riga specifica in un file di testo senza cancellare il rimanente PHP 13
O Cancellare dati da una tabella mysql in modo automatico PHP 2
M cancellare una immagine dal database PHP 3
C cancellare un elemento in un array memorizzato in una sessione PHP 12
IImanuII Cancellare una cartella piena PHP 14
novello88 [MySQL] Delete Record (cancellare una riga) MySQL 1
B come cancellare i file da una cartella PHP 24
G [MS Access] Cancellare i dati da una maschera MS Access 11
E voglio cancellare una mia discussione chiusa Discussioni Varie 2
LaFata Cancellare una riga in un file di testo PHP 5
matteoraggi Come cancellare le colonne di wordpress WordPress 0
P Mysql lento a cancellare MySQL 1
G Con Microsoft Outlook 2016 come si possono cancellare le mail doppie? Posta Elettronica 0
L conferma prima di cancellare con javascript e php PHP 16
H cancellare avatar in codice PHP PHP 2
M [PHP] Cancellare singolo file da cartella su server PHP 3
A [PHP] Cancellare riga database a scelta dell'utente PHP 2
C Cancellare un elemento del DOM jQuery 4
D [PHP] CANCELLARE MAILPLAN PHP 2
ste80 [PHP] cancellare/aggiornare record DB PHP 24
K [PHP] Cancellare e Stampare tabella PHP 3
felino [PHP] Cancellare directory con file al suo interno PHP 2
A Cancellare righe vuote in mysql Database 4
L Cancellare web site Weebly CMS (Content Management System) 0
G Pagina facebook da cancellare Social Media Marketing 4
M Cancellare record a tempo con formato data mktime PHP 7
E cancellare immagini che non sono nel db mysql PHP 1
max_400 Cancellare le prime 3 righe di un file PHP 4
voldemort Cancellare un file con 0 byte Java 1
A Cancellare record su più tabelle con PHP PHP 27
filippino Come cancellare dati da un database MySQL? Database 1
IImanuII Cancellare righe doppie e ciclo. PHP 2
K Help cancellare manualmente plugin WordPress 2
A cancellare TUTTI i cookies PHP 2
S aiuto non so cancellare i dati: PHP 1
F 2 Div uniti, cancellare bordo. HTML e CSS 1
ivarello Cancellare parole dopo ";" PHP 4
M cancellare del testo in sql PHP 1
F Devo cancellare un sito web su Google SEO e Posizionamento 2
D Non riesco a cancellare un href >.< Javascript 6
valient13 aprire un alert per cancellare Javascript 1
D Come cancellare Internet Explorer 8? Windows e Software 2

Discussioni simili