Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
[REGEX] Binären Müll / Steuerzeichen raushauen!? [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
ebiz-consult PHP Entwicklung
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
[REGEX] Binären Müll / Steuerzeichen raushauen!?


 
DJLopez
03-09-2003, 17:01 
 
Hi,

ich habe eine riesige Datei (~7,5MB) voll mit Daten bekommen.
Die Datei ist irgendein Dump von einer binären Datenbank, aber keiner weiss genau welches :-/

Im Text sind viele Steuerzeichen, aber halt auch Kunden-Adressen und Emails. Wie kann ich diese relevanten Daten nun mit REGEXP rausfiltern?

Kann eigentlich nicht SOO schwer sein... aber ich kanns nicht :(

Wäre nett, wenn mir jmd helfen könnte.

Es sind halt alphanumerische Zeichen, sowie @ und Punkt.

Grüße,
Lopez

 
Abraxax
03-09-2003, 17:39 
 
Kann eigentlich nicht SOO schwer sein... aber ich kanns nicht und wir können es auch nicht. zumindest nicht ohne irgend einen anhaltspunkt, wonach man suchen und trennen kann.

 
Tartax
03-09-2003, 17:58 
 
preg_replace(/?<!.*[0-9A-Z].*/i,"");


oder??? Ich habs nochnich so mit regexps!!

 
Tartax
03-09-2003, 17:59 
 
okay, sehe grade:


(?<!xxx)
Negiert das angegebene Pattern und wirkt sich auf das nachfolgende aus.



naja, hätt ja sein können

 
DJLopez
03-09-2003, 18:00 
 
und wir können es auch nicht. zumindest nicht ohne irgend einen anhaltspunkt, wonach man suchen und trennen kann

Im Texteditor Editplus seh ich nur Kästchen, im Notepad sinds Leerzeichen, und dazwischen Name, Adressen, und Email-Adressen halt.

Am wichtigsten wären die Email-Adressen, um die Kunden anzuschreiben.

Vor und hinter der Email-Adresse sind nur Zeichen, die NICHT in einer Mail-Adresse vorkommen dürfen...

Reicht das als Info?

 
MelloPie
03-09-2003, 18:26 
 
na dann ersetz doch alles was nicht rein darf...

etwa so:
preg_replace("/[^\da-z_\.@-]/i",'',$string);

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 17:13 Uhr.