substr($string,4) prend la chaine de caractères $string et la découpe pour qu'elle commence au 4ième caractères.
Le echo permet d'afficher le résultat.
regexp($string, [O-1][0-1],&Z) cherche dans $string toutes les occurences de chaînes faisant deux caractères et dont le premier caractère est obligatoirement un caractère ASCII compris entre la lettre O et 1 (voir les tables ASCII) et dont le deuxime caractère est nécessairement un 0 ou un 1 et stocke le(s) résultat(s) dans Z.
Ton expression régulière est bizarre tout de même, y'a des trucs inutiles ou qui n'ont pas beaucoup de sens (notamment le [O-1] vu que la valeur de 'O' est supérieure à celle de '1').
m4 est executé après chacunes des deux commandes, pour voir ce que c'est, essaye de trouver l'executable dans les paths habituels, du genre /usr/bin, /bin, /sbin, etc...
Une fois trouvé essaye de faire un ./m4 --help , avec un peu de chance y'aura une aide et tu sauras de quoi il s'agit :)
__________________________
Administrateur Moteurprog.com
SEE ALSO
The full documentation for m4 is maintained as a Texinfo manual. If
the info and m4 programs are properly installed at your site, the com‐
mand
Pour ma part il est situé dans /usr/bin/m4 sur le serveur hébergeant Moteurprog, et en faisant un simple "locate m4", on constate qu'il y a bien souvent des fichiers en .m4 dans les différentes applications (sendmail, UnrealIrcd) etc...
Déplacé dans la bonne section au passage.
__________________________
Administrateur Moteurprog.com