Facebook crawler redirect to force displaying own opengraph meta-tags
It would be better to assign $page_path_display this value ("/") from the beginning as all the cases use that as a prefix.
You're missing whitespace in this statement ($expl_path[2]!=""),  it should be $expl_path[2] != "".
In the following code block, you don't need to assign $meta_string as you return it straight away.



    return
    '&lt;meta property="og:title" content="'.$use_title.'" /&gt;
    &lt;meta property="fb:app_id" content="'.$fb_app_id.'"/&gt;
    &lt;meta property="fb:admins" content="'.$fb_admins.'"/&gt;
    &lt;meta property="og:type" content="article" /&gt;
    &lt;meta property="og:url" content="'.$site_url.'/" /&gt;
    &lt;meta property="og:image" content="'.$use_pic.'" /&gt;
    &lt;meta property="og:site_name" content="'.$site_url_displayname.'" /&gt;
    &lt;meta property="og:description" content="'.$use_text.'" /&gt;
    ';




In the following code block, you could just use an if-else instead of a switch





    switch($page_title) {
        case "": case "home": 
            echo show_fbmeta_home();
            exit();
        break;
    }



for example:

if ($page_title == "" || $page_title == "home"){
    echo show_fbmeta_home();
    exit();
}



global, you should avoid using globals, because they're bad practice.