[Useful Info] PHP - ползване на именувани групи в регекс с preg_match_all()
Здравейте,
Вчера установих нещо полезно, което може да помогне по време на изпита (надявам се и колегите, които в момента са на изпит да успеят да го видят и евентуално да се възползват).
Както може би знаете в регулярните изрази може да си дефинираме групи, capture groups. Нещо, което вероятно малко хора са ползвали, са именувани такива групи. Т.е. това са групи, които си имат име, а не просто индекс. Ситаксисът е следният: (P<name>pattern). Хубавото е, че PHP го поддържа това.
Още по-хубавото е, че като ползвате preg_match_all (аз до момента само нея ползвам, не съм прибягвал до preg_match), тя ви връща асоциативен масив, в който ключовете са зададените от вас имена на групите. Така вместо да се чудите коя група коя е по ред или да var_dump-вате постоянно и да гледате на кой индекс какво има, просто си именувайте групите и достъпвате каквото ви трябва по ключ.
Ето и едно примерно решение на задачата Semantic HTML от 31 август, където ползвам това нещо - ЦЪК.