Tinchen: erste Buchstaben der Wörter eines Strings ausgeben

Hallo,

habe einen String wie z.B.

$string="Verein der schönen Bilder e.V.";

Ich möchte jetzt aus diesem String nur die Anfangsbuchstaben der Wörter ausgeben, d.h. der String soll dann so aussehen:

$string="VdsBeV";

Wie kann ich das machen - hat jemand eine Idee?

Danke,

Tinchen

  1. Holladiewaldfee,

    $string="Verein der schönen Bilder e.V.";

    $a = explode(" ", $string);
    $b = "";
    for($i=0, $j=count($a); $i<$a, $i++)
     $b.=$a[$i][0];
    echo $b;

    Dabei wird allerdings das "e.V." als ein einziges Wort angesehen. Möchtest Du das nicht, mußt Du statt explode() preg_split() verwenden und einen geeigneten RegExp verwenden.

    Ciao,

    Harry

    --
    (Die Welt ist eine Scheibe!)
  2. $string="Verein der schönen Bilder e.V.";

    Ich möchte jetzt aus diesem String nur die Anfangsbuchstaben der Wörter ausgeben, d.h. der String soll dann so aussehen:

    $string="VdsBeV";

    Wie kann ich das machen - hat jemand eine Idee?

    Im Kapitel "Regular Expression Functions (Perl-Compatible)" findest Du eine Funktion namens preg_match_all(), die anhand eines von Dir angegebenen Musters Teile aus einem Text filtert. Um Dir die langwierige Einarbeiterei zu ersparen:

    preg_match_all("/\b\w/i","Verein der schönen Bilder e.V.",$matches); // filtern
      print_r($matches); // Feld mit den Ergebnissen ausgeben

    \b\w ist das Muster (Muster werden in // eingeklammert, daher das obige /\b\w/, das i am Ende steht für case-Insensitive, also Groß-/Kleinschreibung nicht berücksichtigend), wobei \b für eine Wortgrenze steht und \w ein Zeichen bezeichnet, das zu einem Wort gehören kann.
    Ein "Wort" besteht aus Buchstaben, Zahlen und dem Unterstrich. Willst Du nur Buchstaben haben, müsstest Du statt \w eine Liste mit den gewünschten Zeichen angeben, etwa so: \b[a-zäöü]

    Zurückgegeben wird, obwohl dort \b\w steht, nur ein Zeichen, nämlich jenes, welches auch \w passt; die Grenze \b sieht man logischerweise nicht.

    Die Funktion des Musters ist ebenfalls in der PHP-Anleitung erklärt. Lies Dir die Seite "Pattern Syntax" unbedingt durch!

    Gruß,
      soenk.e