当前位置: 首页>>代码示例>>PHP>>正文


PHP Attribute::shorthand方法代码示例

本文整理汇总了PHP中Attribute::shorthand方法的典型用法代码示例。如果您正苦于以下问题:PHP Attribute::shorthand方法的具体用法?PHP Attribute::shorthand怎么用?PHP Attribute::shorthand使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Attribute的用法示例。


在下文中一共展示了Attribute::shorthand方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: __construct

		public function __construct($tag = null, $attributes = null) 
		{
			if ($this->isEmpty($tag))
			{
				throw new HTML5Error(HTML5Error::EMPTY_NODE_TAG);
			}
			$this->_parent = null;
			$this->_tag = $tag;
			$this->_attributes = array();

			if (isset(Specification::$TAGS[$tag]))
			{
				$this->_validAttrs = array_merge(
					Specification::$TAGS[$tag],
					Specification::$ATTRIBUTES
				);
			}
			else
			{
				$this->_validAttrs = array();
			}
			
			if ($attributes !== null)
			{
				if (is_string($attributes))
				{
					$attributes = Attribute::shorthand($attributes);
				}
				
				if (is_array($attributes))
				{
					$this->setAttributes($attributes);
				}
			}
		}
开发者ID:nico13051995,项目名称:IntITA,代码行数:35,代码来源:Node.php

示例2: html

	/**
	*  This is the global function is the main entry for interacting with the HTML5 for PHP library. 
	*  using `html()` global function you can create HTML5 quickly and easily. For more
	*  examples and instruction on how to use this library, please refer to the the 
	*  <a href="https://github.com/Canteen/CanteenHTML5">GitHub project</a>. 
	*  To install the library simply include `html.php`, this takes care of any autoloading that's needed
	*  for the rest of the library.
	*
	*	echo html('img src=home.jpg'); 
	*	echo html('img', 'src=home.jpg'); 
	*	echo html('a', array('href'=>'about.html'));
	*	
	*	
	*
	*  @method html
	*  @param {String} tag The name of the tag as a string for example 'tr', 'table', can be followed 
	*		 by CSS selector, e.g. 'a#backButton' or 'a.button'
	*  @param {Dictionary|Node|String|Array} [childrenOrAttributes=null] If the tag is a NodeContainer, this can be an array 
	*  		  of attributes, another html node or some text. If the tag is a single node, this can 
	*        be an array or chain of attributes
	*  @param {Dictionary|String} [attributes=null] The attributes list for container tags (e.g., 'class:selected')
	*  @return {Node} Return the html node
	*/
	function html($tag, $childrenOrAttributes=null, $attributes=null)
	{
		// Get the tag ID from the tag string
		// for instance 'a.button rel=external', a.button is the tagId, the rest are the attributes
		$endPos = strpos(trim($tag), ' ');
		
		// The tag attributes
		$tagAttributes = array();
		
		// If the tag also has some attributes
		if ($endPos !== false)
		{
			$tagOriginal = $tag;
			$tag = substr($tag, 0, $endPos);
			$tagAttributes = Attribute::shorthand(substr($tagOriginal, $endPos + 1));
		}
		
		// Match the tag name without the CSS selectors
		preg_match('/^([a-z1-6]{1,10})(.*)/', $tag, $tagParts);
		
		// Valid class ane id names must begin with a -, _, or a-z letter
		preg_match_all('/(\.|\#)\-?[\_a-zA-Z]+[\_a-zA-Z0-9\-]*/', $tagParts[2], $selectors);
		
		$tag = strtolower($tagParts[1]); // the name of the tag
		$selfClosing = false;

		// Comment tags are special
		if ($tag == 'comment')
		{
			return new Comment($childrenOrAttributes);
		}
		// Document type declaration
		else if ($tag == 'doctype')
		{
			return '<!DOCTYPE html>';
		}
		// Any normal text
		else if ($tag == 'text')
		{
			return new Text($childrenOrAttributes);
		}
		// Untagged container
		else if ($tag == 'fragment')
		{
			return new Fragment($childrenOrAttributes);
		}
		// Check for task specification
		else if (isset(Specification::$TAGS[$tag]))
		{
			// Check to see if this is a self closing tag
			$selfClosing = in_array($tag, Specification::$SELF_CLOSING);
		}
		else
		{
			throw new HTML5Error(HTML5Error::INVALID_TAG, $tag);
		}
		
		// Create the attributes collection, either string or array
		$attributes = $selfClosing ? $childrenOrAttributes : $attributes;
		
		// If there are attributes and they are in a string format
		// convert to an attributes array
		if ($attributes !== null && is_string($attributes))
		{
			$attributes = Attribute::shorthand($attributes);
		}
		
		// Combine the attributes and the tags
		if (is_array($attributes))
		{
			$attributes = array_merge($tagAttributes, $attributes);
		}
		// Or just add any tag attributes
		else if (count($tagAttributes))
		{
			$attributes = $tagAttributes;
		}
//.........这里部分代码省略.........
开发者ID:nico13051995,项目名称:IntITA,代码行数:101,代码来源:HTML5.php


注:本文中的Attribute::shorthand方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。