全部小写并用 - 替换空格 -

I am trying to generate some html pages and I have:

$category="Category Name";
$zone="Zone Name";

I am trying to get $page="category-name-in-zone-name.html"

You're looking for the concept of 'slug creation':

function makeSlug($input)
{
    $interim = iconv('UTF-8', 'ASCII//TRANSLIT//IGNORE', $input);
    $interim = preg_replace("/[\"']+/i", '', $interim);
    $interim = preg_replace("/[^a-z0-9\\d]+/i", '-', $interim);
    return trim(strtolower($interim), ' -');
}
echo makeSlug("$category in $zone").'.html';

Demo here.