$re = '/(?:[cC][hH]|[lL][lL]|[rR][rR]|[qQ][uU]|[mnñvzsyjhxwMNÑVZSYJHXW]|[fpbtdkgcFPBTDKGC][lrLR]?|[lrLR])?(?:[iuüIUÜ][eaoéáóEAOÉÁÓ][iyuIYU]|[aáAÁ][hH]?[uúUÚ][aáAÁ]|[iuüIUÜ][hH]?[eaoéáóEAOÉÁÓ]|[eaoéáóEAOÉÁÓ][hH]?[iyuIYU]|[iíIÍ][hH]?[uúUÚ]|[uúüUÚÜ][hH]?[iíyIÍY]|[ieaouíéáóúüIEAOUÍÉÁÓÚÜ])(?:(?:(?:(?:[nmNM]|[rR](?![rR]))s?(?![ieaouíéáóúüIEAOUÍÉÁÓÚÜ]))|(?:(?:[mnñvzsyjhxwMNÑVZSYJHXW]|[lL](?![lL]))(?![ieaouíéáóúüIEAOUÍÉÁÓÚÜ]))|(?:(?:[fpbtdkgFPBTDKG]|[cC](?![hH]))(?![lrLR]?[ieaouíéáóúüIEAOUÍÉÁÓÚÜ])))(?!\s|$))?(?:[ndrlsxNDRLSX](?=\s|$))?/m';
$str = 'SÍLABA CV
casado
caro
NÚCLEOS VOCÁLICOS
DIPTONGOS
ai, au, ei, eu, oi, ou, ui, iu, ia, ua, ie, ue, io, uo
varió comió diario miel
CON DOS CERRADAS
distribuido atribuir atribuí
muy fui rey
pausa tierra
ciudad buitre
CON H INTERCALADA
desahuciar, ahijado
TRIPTONGOS
santigüeis
guay guau rey
haliéutica hioides huaico
AUA
palauano
nahuatl cacahuatal
HIATOS NORMATIVOS (DOS CONSONANTES ABIERTAS)
aorta
héroe
almohada
línea
HIATOS
tú sabrías, sabías, vosotros sabíais
raúl oído búho
tío púa
ATAQUE C+LÍQUIDA
cromo
claro
cabra
triple
dígrafos
CODAS
silbo
cansado
tacto
texto
anticiparse
álbumes
asfixia
enloquecer
SUCESIÓN NS MS RS
transportar
transacción
torso
perspectivas
samsara
CODAS A FINAL DE PALABRA
hablan hablar hablad
riel rieles
sílex
recto
DÍGRAFOS
chica
coche
llave
calle
carro
EXTRANJERISMOS
pícnic
hámster
mozzarella
marketing
búnker
sándwich
';
preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);
// Print the entire match result
var_dump($matches);
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for PHP, please visit: http://php.net/manual/en/ref.pcre.php