站长论坛

标题: 关于get_meta_tags()函数的使用信息 [打印本页]

作者: tznktg    时间: 2007-9-27 22:11
标题: 关于get_meta_tags()函数的使用信息
get_meta_tags
(PHP 3>= 3.0.4, PHP 4 , PHP 5)

get_meta_tags --  从一个文件中提取所有的 meta 标签 content 属性,返回一个数组
描述
array get_meta_tags ( string filename [, int use_include_path])


打开 filename 逐行解析文件中的 <meta> 标签。此参数可以是本地文件也可以是一个 URL。解析工作将在 </head> 处停止。

将 use_include_path 设置为 1 将促使 PHP 尝试按照 include_path 标准包含路径中的每个指向去打开文件。这只用于本地文件,不适用于 URL。

例子 1. get_meta_tags() 解析些什么

<meta name="author" content="name">
<meta name="keywords" content="php documentation">
<meta name="DESCRIPTION" content="a php manual">
<meta name="geo.position" content="49.33;-86.59">
</head> <!-- 解析工作在此处停止 -->


(注意回车换行 - PHP 使用一个本地函数来解析输入,所以 Mac 上的文件将不能在 Unix 上正常工作)。

返回的关联数组以属性 name 的值作为键,属性 content 的值作为值,所以你可以很容易地使用标准数组函数遍历此关联数组或访问某个值。属性 name 中的特殊字符将使用‘_’替换,而其它字符则转换成小写。如果有两个 meta 标签拥有相同的 name,则只返回最后出现的那一个。

例子 2. get_meta_tags() 的返回值

<?php
// 假设上边的标签是在 www.example.com
$tags = get_meta_tags('http://www.example.com/');

// 注意所有的键(key)均为小写,而键中的‘.’则转换成了‘_’。
print $tags['author'];       // name
print $tags['keywords'];     // php documentation
print $tags['description'];  // a php manual
print $tags['geo_position']; // 49.33;-86.59
?>  



注: 从 PHP 4.0.5 开始,get_meta_tags() 支持没有使用引号括起来的 HTML 属性。
作者: tznktg    时间: 2007-9-27 22:11
关于urlencode()函数的使用信息

urlencode
(PHP 3, PHP 4 , PHP 5)

urlencode -- 编码 URL 字符串
描述
string urlencode ( string str)


返回字符串,此字符串中除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+)。此编码与 WWW 表单 POST 数据的编码方式是一样的,同时与 application/x-www-form-urlencoded 的媒体类型编码方式一样。由于历史原因,此编码在将空格编码为加号(+)方面与 RFC1738 编码(参见 rawurlencode())不同。此函数便于将字符串编码并将其用于 URL 的请求部分,同时它还便于将变量传递给下一页: 例子 1. urlencode() 示例

<?php
echo '<a href="mycgi?foo=', urlencode($userinput), '">';
?>  



注意:小心与 HTML 实体相匹配的变量。像 &amp、&copy 和 &pound 都将被浏览器解析,并使用实际实体替代所期待的变量名。这是明显的混乱,W3C 已经告诫人们好几年了。参考地址:http://www.w3.org/TR/html4/appendix/notes.html#h-B.2.2 PHP 通过 arg_separator .ini 指令,支持将参数分割符变成 W3C 所建议的分号。不幸的是大多数用户代理并不发送分号分隔符格式的表单数据。较为简单的解决办法是使用 & 代替 & 作为分隔符。你不需要为此修改 PHP 的 arg_separator。让它仍为 &,而仅使用 htmlentities(urlencode($data)) 对你的 URL 进行编码。

例子 2. urlencode() 与 htmlentities() 示例

<?php
echo '<a href="mycgi?foo=', htmlentities(urlencode($userinput)), '">';
?>
作者: tznktg    时间: 2007-9-27 22:12
关于htmlentities()函数的使用信息

htmlentities
将所有的字元都转成 HTML 字串。

语法: string htmlentities(string string);

传回值: 字串

函式种类: 资料处理




内容说明


本函式有点像 htmlspecialchars() 函式,但本函式会将所有 string 的字元都转成 HTML 的特殊字集字串。不过在转换后阅读网页原始码的方面,会有很多困扰,尤其是网页原始码的中文字会变得不知所云,浏览器上看到的还是正常的。


<?php
$str = "A 'quote' is <b>bold</b>";

// Outputs: A 'quote' is &lt;b&gt;bold&lt;/b&gt;
echo htmlentities($str);

// Outputs: A 'quote' is &lt;b&gt;bold&lt;/b&gt;
echo htmlentities($str, ENT_QUOTES);
?>




欢迎光临 站长论坛 (https://tzlink.com/bbs/) Powered by Discuz! X3.2