lib/Psc/HTML/Page.php
public function setMeta($name, $content = NULL, $httpEquiv = FALSE, $scheme = NULL) {
    $meta = HTML::Tag('meta');
    $meta->setOption('selfClosing',TRUE);

    if ($content === NULL) {
      /* löschen */
      $this->removeMeta($name);
    
    } else {
      /* im W3C steht "may be used in place" ... d.h. man könnte auch name und http-equiv gleichzeitig benutzen 
         http://www.w3.org/TR/html4/struct/global.html#edef-META
      */

      if (isset($name)) {
        if (!$httpEquiv) 
          $meta->setAttribute('name',$name);
        else
          $meta->setAttribute('http-equiv',$name);
      }
  
      if (isset($scheme))
        $meta->setAttribute('scheme',$scheme);

      if ($content !== FALSE) {
        $meta->setAttribute('content',$content);
      }

      /* meta tags liegen im head in der root ebene, d.h. wir suchen ob es dort schon ein meta tag gibt,
         wenn es eins gibt ersetzen wir dies, ansonsten fügen wir es hinzu 
      */
      /* schlüssel des meta tags suchen (wenn vorhanden) */
      $key = NULL;
      foreach ($this->head->content as $itemKey => $item) {
        if ($item instanceof Tag && $item->getTag() == 'meta' && ($item->getAttribute('name') == $name || $item->getAttribute('http-equiv') == $name)) {
          $key = $itemKey;
          break;
        }
      }
      
      if ($key !== NULL) {
        $this->head->content[$key] =& $meta;
      } else {
        $this->head->content[] =& $meta;
      }
    }
    return $meta;
  }
public function setMeta($name, $content = NULL, $httpEquiv = FALSE, $scheme = NULL) {
    $meta = HTML::Tag('meta');
    $meta->setOption('selfClosing',TRUE);

    if ($content === NULL) {
      /* löschen */
      $this->removeMeta($name);
    
    } else {
      /* im W3C steht "may be used in place" ... d.h. man könnte auch name und http-equiv gleichzeitig benutzen 
         http://www.w3.org/TR/html4/struct/global.html#edef-META
      */

      if (isset($name)) {
        if (!$httpEquiv) 
          $meta->setAttribute('name',$name);
        else
          $meta->setAttribute('http-equiv',$name);
      }
  
      if (isset($scheme))
        $meta->setAttribute('scheme',$scheme);

      if ($content !== FALSE) {
        $meta->setAttribute('content',$content);
      }

      /* meta tags liegen im head in der root ebene, d.h. wir suchen ob es dort schon ein meta tag gibt,
         wenn es eins gibt ersetzen wir dies, ansonsten fügen wir es hinzu 
      */
      /* schlüssel des meta tags suchen (wenn vorhanden) */
      $key = NULL;
      foreach ($this->head->content as $itemKey => $item) {
        if ($item instanceof Tag && $item->getTag() == 'meta' && ($item->getAttribute('name') == $name || $item->getAttribute('http-equiv') == $name)) {
          $key = $itemKey;
          break;
        }
      }
      
      if ($key !== NULL) {
        $this->head->content[$key] =& $meta;
      } else {
        $this->head->content[] =& $meta;
      }
    }
    return $meta;
  }
public function setMeta ( $ name , $ content = NULL , $ httpEquiv = FALSE , $ scheme = NULL ) { $ meta = HTML :: Tag ( 'meta' ) ; $ meta -> setOption ( 'selfClosing' , TRUE ) ; if ( $ content === NULL ) { /* löschen */ $ this -> removeMeta ( $ name ) ; } else { /* im W3C steht "may be used in place" ... d.h. man könnte auch name und http-equiv gleichzeitig benutzen 
         http://www.w3.org/TR/html4/struct/global.html#edef-META
      */ if ( isset ( $ name ) ) { if ( ! $ httpEquiv ) $ meta -> setAttribute ( 'name' , $ name ) ; else $ meta -> setAttribute ( 'http-equiv' , $ name ) ; } if ( isset ( $ scheme ) ) $ meta -> setAttribute ( 'scheme' , $ scheme ) ; if ( $ content !== FALSE ) { $ meta -> setAttribute ( 'content' , $ content ) ; } /* meta tags liegen im head in der root ebene, d.h. wir suchen ob es dort schon ein meta tag gibt,
         wenn es eins gibt ersetzen wir dies, ansonsten fügen wir es hinzu 
      */ /* schlüssel des meta tags suchen (wenn vorhanden) */ $ key = NULL ; foreach ( $ this -> head -> content as $ itemKey => $ item ) { if ( $ item instanceof Tag && $ item -> getTag ( ) == 'meta' && ( $ item -> getAttribute ( 'name' ) == $ name || $ item -> getAttribute ( 'http-equiv' ) == $ name ) ) { $ key = $ itemKey ; break ; } } if ( $ key !== NULL ) { $ this -> head -> content [ $ key ] = & $ meta ; } else { $ this -> head -> content [ ] = & $ meta ; } } return $ meta ; }
Setzt ein Meta Attribut

wird <var>$content</var> leer gelassen oder auf NULL gesetzt, wird das Meta Attribut gelöscht
@param string $name der Name des Meta Attributes
@param string $content der Wert des Meta Attributes
@return Tag<meta>
Setzt ein Meta Attribut