Wie zu erkennen, ein Trennzeichen in einem string in PHP?

Ich bin gespannt, ob du einen string hast, wie würdest du erkennen das Trennzeichen?

Wir wissen, kann php split einen string mit explode (), die erfordert eine delimiter-parameter.

Aber was ist eine Methode zur Erkennung der Trennzeichen, bevor es zu explodieren-Funktion?

Jetzt bin ich gerade ausgeben der Zeichenfolge an den Benutzer und geben Sie das Trennzeichen. Das ist in Ordnung-aber ich bin auf der Suche für die Anwendung, um Muster zu erkennen für mich.

Sollte ich achten, um reguläre Ausdrücke für diese Art der Mustererkennung in einem string?

EDIT: ich habe versagt zunächst angeben, dass es einen wahrscheinlich erwartet, Satz von Trennzeichen. Ein beliebiges Trennzeichen, das wahrscheinlich in eine CSV-Datei. Also technisch könnte jemand alle Zeichen begrenzen eine CSV-Datei, aber es ist wahrscheinlicher, um die Verwendung eines der folgenden Zeichen: Komma, Strichpunkt, senkrechter Strich und ein Leerzeichen ein.

EDIT 2: Hier ist die praktikable Lösung, die ich kam mit einem "bestimmt Trennzeichen".

$get_images = "86236058.jpg 86236134.jpg 86236134.jpg";

    //Detection of delimiter of image filenames.
        $probable_delimiters = array(",", " ", "|", ";");

        $delimiter_count_array = array(); 

        foreach ($probable_delimiters as $probable_delimiter) {

            $probable_delimiter_count = substr_count($get_images, $probable_delimiter);
            $delimiter_count_array[$probable_delimiter] = $probable_delimiter_count;

        }

        $max_value = max($delimiter_count_array);
        $determined_delimiter_array = array_keys($delimiter_count_array, max($delimiter_count_array));

        while( $element = each( $determined_delimiter_array ) ){
        $determined_delimiter_count = $element['key'];
        $determined_delimiter = $element['value'];
        }

        $images = explode("{$determined_delimiter}", $get_images);
  • Was bedeutet das Trennzeichen Aussehen?
  • Ich bin verwirrt über die Logik, dass der Benutzer geben Sie das Trennzeichen an. Was ist der Zweck? Warum nicht einfach mit einer von den üblicherweise verwendeten Trennzeichen und mit ihm getan werden?
  • was Sie fordern, klingt ziemlich unrealistisch, wenn alles, was könnte ein Trennzeichen. Mustervergleich zur Erkennung von Trennzeichen ist eine nicht-triviale Aufgabe
  • Alles, was Sie mit kommen nach dieser Spezifikation wird O(n^c). Wo n ist die Menge aller möglichen Trennzeichen und c ist die Länge der Zeichenfolge. Hässlich...
  • Gut, Sie bauen konnte ein heuristisches Verfahren, das versucht, zu identifizieren, die ein Trennzeichen aus einer Liste der möglichen Trennzeichen (,;/| alle in den Sinn kommen). Je nach Bedarf, die Sie tun könnten, zählen die Analyse auf die Anzahl der Zeiten, die der Charakter wird in der Datei (nachdem alle, ein Trennzeichen angezeigt würde, mindestens ein paar mal pro Zeile, würde ich denken)...
  • können Sie weitere Informationen zu liefern bitte. Einige Eingabedaten und welche möglichen Trennzeichen, die Sie erwarten.
  • Ich habe nicht angegeben, dass es einen wahrscheinlich erwartet, Satz von Trennzeichen. Ein beliebiges Trennzeichen, das wahrscheinlich in eine CSV-Datei. Also technisch könnte jemand alle Zeichen begrenzen eine CSV-Datei, aber es ist wahrscheinlicher, um die Verwendung eines der folgenden Zeichen: Komma, Semikolon und einem Leerzeichen.

InformationsquelleAutor Alex | 2010-10-29
Schreibe einen Kommentar