Autor Zpráva
had
Profil *
Ahoj,
měl bych takovou trochu hloupou otázku... mám tenhle regulární výraz:

<?php
preg_match_all("~[[1|2]\\. ČTENÍ|MEZIZPĚV|EVANGELIUM] (.*)$~", $string, $pole);
?>

a potřeboval bych s ním detekovat výskyt slovních spojení:

1. ČTENÍ proměnný obsah
2. ČTENÍ proměnný obsah
MEZIZPĚV proměnný obsah
EVANGELIUM proměnný obsah

a "proměnný obsah" potřebuju vrátit do pole. Průšvih je v tom, že tohle mi vyhledá výskyty pro Í|M...V|E... poradíte mi, prosím, jakým způsobem zapsat variabilitu celých slov a ne jen písmen? Předem díky za pomoc.
juriad
Profil
"~^([12]\\. ČTENÍ|MEZIZPĚV|EVANGELIUM) (.*)$~"
obsah najdeš v $pole[*][2]
had
Profil *
a jiný způsob, jak se vyhnout tomu, aby obsah závorky byl automaticky ukládán do pole, asi není, že?
juriad
Profil
jde to, pokud si skupinu nechceš pamatovat použij:
"~^(?:[12]\\. ČTENÍ|MEZIZPĚV|EVANGELIUM) (.*)$~"
www.regular-expressions.info/refadv.html

Ale třeba se ti bude začátek řádku později hodit, zas takové zpomalení způsobené zapamatováním nevznikne.
had
Profil *
aha...výborně! přesně tohle mi chybělo ve znalostech :-) Díky, juriade!

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: