Meta tag helper with Open Graph tags Meta tag helper with Open Graph tags codeigniter codeigniter

Meta tag helper with Open Graph tags


I used this

MY_html_helper.php

if (!function_exists('meta')) {function meta($name = '', $content = '', $type = 'name', $newline = "\n") {    // Since we allow the data to be passes as a string, a simple array    // or a multidimensional one, we need to do a little prepping.    if (!is_array($name)) {        $name = array(array('name' => $name, 'content' => $content, 'type' => $type, 'newline' => $newline));    } else {        // Turn single array into multidimensional        if (isset($name['name'])) {            $name = array($name);        }    }    $str = '';    foreach ($name as $meta) {        if ((!isset($meta['type']) OR $meta['type'] == 'name')) {            $type = 'name';        } else if ($meta['type'] == 'equiv') {            $type = 'http-equiv';        } else {            $type = $meta['type'];        }        $name = (!isset($meta['name'])) ? '' : $meta['name'];        $content = (!isset($meta['content'])) ? '' : $meta['content'];        $newline = (!isset($meta['newline'])) ? "\n" : $meta['newline'];        $str .= '<meta ' . $type . '="' . $name . '" content="' . $content . '" />' . $newline;    }    return $str;}}

Usage :

$meta = array(    array('name' => 'og:title', 'content' => 'my great title', 'type' => 'property'));


Fixed it:

Extended the HTML helper and changed all the name references to property.

MY_html_helper

<?php/** * Generates meta tags from an array of key/values * * @access  public * @param   array * @return  string */if ( ! function_exists('meta')){    function meta($property = '', $content = '', $type = 'property', $newline = "\n")    {        // Since we allow the data to be passes as a string, a simple array        // or a multidimensional one, we need to do a little prepping.        if ( ! is_array($property))        {            $property = array(array('property' => $property, 'content' => $content, 'type' => $type, 'newline' => $newline));        }        else        {            // Turn single array into multidimensional            if (isset($property['property']))            {                $property = array($property);            }        }        $str = '';        foreach ($property as $meta)        {            $type       = ( ! isset($meta['type']) OR $meta['type'] == 'property') ? 'property' : 'http-equiv';            $property       = ( ! isset($meta['property']))     ? ''    : $meta['property'];            $content    = ( ! isset($meta['content']))  ? ''    : $meta['content'];            $newline    = ( ! isset($meta['newline']))  ? "\n"  : $meta['newline'];            $str .= '<meta '.$type.'="'.$property.'" content="'.$content.'" />'.$newline;        }        return $str;    }}