Jonny 5: preg_match_all: Bestimmte Wortbausteine aus String lesen.

Beitrag lesen

Hi,

Eventuell ist es einfacher zu definieren welche Zeichen nicht mehr zu einem Wort gehören.

Denke ich auch.

»»»» Ein Wortbaustein besteht immer aus 2 feste Anfangszeichen (##wort1, ##wort2, etc...).

Man benötigt also einen regulären Ausdruck, der Wörter sammelt, die:

  • mit 2 ## beginnen
      '~#{2}

  • gefolgt von beliebig vielen nicht white-spaces, nicht-Beistrichen, nicht-rauten.
      '~#{2}[^\s#,]+

  • wobei ja nur wörter erwünscht sind, also klammern wir
      $pattern = '~#{2}([^\s#,]+)~is';

Nun sollten wir ein array bekommen, das an [0] alle ##wörter und [1] alle wörter enthält:

preg_match_all($pattern,$str,$out);
print_r($out[1]);

Viel Erfolg,
Jonny 5