protestix . Wie gehst du mit 'Müller Klaus Dieter-39_1-03.pdf ' um?
Ankündigung
Einklappen
Keine Ankündigung bisher.
Nachname und Vorname in Array finden und gefundene (mehrere) Ausgeben
Einklappen
Neue Werbung 2019
Einklappen
X
-
Zitat von jspit Beitrag anzeigenDa sind noch einige namen mit 2 Leerzeichen dazwischen. Vor dem Nachnamen sind keine Zeichen am Anfang!? Und du arbeitest mit UTF-8.
PHP-Code:$regEx = '~^'.preg_quote($nachname,'~').'[ ]{1,2}'.preg_quote($vorname,'~').'~u';
$result_ln = preg_grep($regEx,$contents_ln);
Edit: Dein Input zu verstümmelm halte ich für keine gute Idee.
Kommentar
-
Zitat von jspit Beitrag anzeigenprotestix . Wie gehst du mit 'Müller Klaus Dieter-39_1-03.pdf ' um?
Meinst du wegen des Umlautes oder meinst du die korrekte Reihenfolge? Die wird nicht geprüft, das heisst, das Script würde diesen Dateinamen auch unter "klaus müller" finden.
Kommentar
-
Zitat von hellbringer Beitrag anzeigenIch würde davon absehen Nutzdaten in den Dateinamen zu stecken. Das ist eine Einladung für zahlreiche Probleme, die dabei auftreten können. Und auch sicherheitstechnisch muss da einiges beachtet werden.
Einem Dateinamen gibt man am besten nur eine ID.
Kommentar
-
Zitat von protestix Beitrag anzeigenVerstehe ich nicht, geht doch.
Meinst du wegen des Umlautes oder meinst du die korrekte Reihenfolge? Die wird nicht geprüft, das heisst, das Script würde diesen Dateinamen auch unter "klaus müller" finden.
PHP-Code:$needle = 'Werner Michael pdf';
Zitat von VVoLv3r!n3 Beitrag anzeigenWas genau meist du mit dem verstümmeln des Inputs?
PHP-Code:$contents_ln = array_map('trim',ftp_nlist($connection_id, "."));
Kommentar
-
Hast meinen Vorschlag mal probiert? Filtert die Daten so wie du sie im Beirag #9 gezeigt hast.
Aus irgendwelchen Gründen findet er zum Beispiel bei Vergien Elke nur mit $regEx und dafür Bauer Helma nicht und Bauer Helma nur mit $regEx2. Daher einfach 2x mal und zusammenfügen. Fast and dirty. Wie gesagt nur notlösung
PHP-Code:$regEx = '~^'.preg_quote($nachname,'~').'[ ]'.preg_quote($vorname,'~').'~u';
$regEx2 = '~^'.preg_quote($nachname,'~').''.preg_quote($vorname,'~').'~u';
// Kunde in Array suchen
$result_sa = preg_grep($regEx, $contents_sa);
$result_pm = preg_grep($regEx, $contents_pm);
$result_s = preg_grep($regEx, $contents_s);
$result_v = preg_grep($regEx, $contents_v);
$result_vo = preg_grep($regEx, $contents_vo);
$result_gn = preg_grep($regEx, $contents_gn);
$result_vo_vj = preg_grep($regEx, $contents_vo_vj);
$result_gn_vj = preg_grep($regEx, $contents_gn_vj);
$result_ln = preg_grep($regEx, $contents_ln );
$result_vp = preg_grep($regEx, $contents_vp);
$result_pg = preg_grep($regEx, $contents_pg);
$result_sa2 = preg_grep($regEx2, $contents_sa);
$result_pm2 = preg_grep($regEx2, $contents_pm);
$result_s2 = preg_grep($regEx2, $contents_s);
$result_v2 = preg_grep($regEx2, $contents_v);
$result_vo2 = preg_grep($regEx2, $contents_vo);
$result_gn2 = preg_grep($regEx2, $contents_gn);
$result_vo_vj2 = preg_grep($regEx2, $contents_vo_vj);
$result_gn_vj2 = preg_grep($regEx2, $contents_gn_vj);
$result_ln2 = preg_grep($regEx2, $contents_ln );
$result_vp2 = preg_grep($regEx2, $contents_vp);
$result_pg2 = preg_grep($regEx2, $contents_pg);
$result_sa = array_merge($result_sa, $result_sa2);
$result_pm = array_merge($result_pm, $result_pm2);
$result_s = array_merge($result_s, $result_s2);
$result_v = array_merge($result_v, $result_v2);
$result_vo = array_merge($result_vo, $result_vo2);
$result_gn = array_merge($result_gn, $result_gn2);
$result_vo_vj = array_merge($result_vo_vj, $result_vo_vj2);
$result_gn_vj = array_merge($result_gn_vj, $result_gn_vj2);
$result_ln = array_merge($result_ln, $result_ln2);
$result_vp = array_merge($result_vp, $result_vp2);
$result_pg = array_merge($result_pg, $result_pg2);
Kommentar
-
Zitat von VVoLv3r!n3 Beitrag anzeigen
Ja ich habs zurzeit mit dem am laufen. Aber nicht optimal. Naja es ist eine Notlösung.
Ich muss hellbringer zustimmen, hab schon bessere Notlösungen gehen. Schau dir an wie unter PHP mit Arrays und Schleifen arbeitet.
Kommentar
Kommentar