Improvement of a regular expression pattern
To be honest I don't think your current way of handling is 'clean'.
But I would suggest you to use a HTML DOM parser. I took the liberty to google it for you and http://simplehtmldom.sourceforge.net/ seems quite what you need.

It's a PHP HTML parser, which allows you to write

// Find all element which class=foo
$ret = $html-&gt;find('.at-the-moment');


instead of 

preg_match_all('/&lt;div class="show (.*?) at-the-moment current (.*?)"&gt;(.*?)&lt;div class="show-infos"&gt;(.*?)&lt;\/div&gt;/is', $code_page, $channels);


Also your other regexes can be switched (read the documentation)

To be honest, I never used this library before, but I've worked with beautifulsoup which is a Python equivalent, which would do the trick for you perfectly.
(source: http://www.givegoodweb.com/post/210/html-parser-for-php)

Wishing you the best!