Ankündigung

Einklappen
Keine Ankündigung bisher.

Nachname und Vorname in Array finden und gefundene (mehrere) Ausgeben

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    protestix . Wie gehst du mit 'Müller Klaus Dieter-39_1-03.pdf ' um?

    Kommentar


    • #17
      Zitat von jspit Beitrag anzeigen
      Da 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); 
      Wenn mehr als 2 Leezeichen in Frage kommen must du das in der {} erhöhen.

      Edit: Dein Input zu verstümmelm halte ich für keine gute Idee.
      Ich glaube es gibt alles mögliche die einzige Konstante ist der Nachname und Vorname. Ab diesem Jahr wird es besser, da die Dateinamen nun nicht mehr von Hand sondern durch das Programm vergeben werden und somit immer das gleiche Muster aufweisen. Nur alle Daten von Hand so umzubenennen ist unmöglich. Was genau meist du mit dem verstümmeln des Inputs?

      Kommentar


      • #18
        Ich 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


        • #19
          Zitat von jspit Beitrag anzeigen
          protestix . Wie gehst du mit 'Müller Klaus Dieter-39_1-03.pdf ' um?
          Verstehe 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.

          Kommentar


          • #20
            protestix

            Danke dir, der Ansatz ist auch nicht schlecht ich werde das mal testen und melde mich wieder.

            Kommentar


            • #21
              Zitat von hellbringer Beitrag anzeigen
              Ich 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.
              fullACK

              Kommentar


              • #22
                Zitat von protestix Beitrag anzeigen
                Verstehe 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.
                Genau das meine ich. Und dein Skript liefert für ein
                PHP-Code:
                $needle 'Werner Michael pdf'
                auch Dokumente wie [960] => Michael Werner-xx.pdf

                Zitat von VVoLv3r!n3 Beitrag anzeigen
                Was genau meist du mit dem verstümmeln des Inputs?
                Ein Manipulieren der Filenamen derart, das dein Ausdruck für preg_grep einfacher wird. Konkret sowas wie dieser Versuch
                PHP-Code:
                $contents_ln array_map('trim',ftp_nlist($connection_id".")); 
                Hast meinen Vorschlag mal probiert? Filtert die Daten so wie du sie im Beirag #9 gezeigt hast.

                Kommentar


                • #23
                  Hast meinen Vorschlag mal probiert? Filtert die Daten so wie du sie im Beirag #9 gezeigt hast.
                  Ja ich habs zurzeit mit dem am laufen. Aber nicht optimal. Naja es ist eine Notlösung. Ich wollte noch das Script von protestix testen. Kam aber bisher noch nicht dazu. Immoment hab ich es so:
                  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


                  • #24
                    Gruseliger Code. Copy-Paste-Programmiererei.

                    Kommentar


                    • #25
                      Zitat von VVoLv3r!n3 Beitrag anzeigen

                      Ja ich habs zurzeit mit dem am laufen. Aber nicht optimal. Naja es ist eine Notlösung.
                      Mein RegEx sieht auch etwas anders aus. Und diese Lösung hab ich auch nur für die eine Variante getestet wofür du Daten zur Verfügung gestellt hast. k.A was für Probleme noch in den anderen Daten stecken.
                      Ich muss hellbringer zustimmen, hab schon bessere Notlösungen gehen. Schau dir an wie unter PHP mit Arrays und Schleifen arbeitet.

                      Kommentar

                      Lädt...
                      X