- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 get_meta_tags() 函数使用 PHP 获取 HTML 元标记。我对表、字符集/排序规则、MySQL 和其他所有内容的连接字符集使用 UTF8。
但不幸的是,MySQL 在插入表时会截断该字符串。当 HTML 编码与 UTF-8 不同时(例如 ISO 8859-1),就会发生这种情况
有没有办法在不知道它的编码字符集的情况下将字符串转换为 UTF8?
最佳答案
示例:
<?php
// ------------------------------------------------------------
header('Content-Type:text/html; charset=utf-8');
// ------------------------------------------------------------
function str_to_utf8($string) {
if (mb_detect_encoding($string, 'UTF-8', true) === false) {
$string = utf8_encode($string);
}
return $string;
}
// ------------------------------------------------------------
$url = 'http://example.org'; // ---- The URL to get Meta-Tags from ---
// ------------------------------------------------------------
$meta_raw = get_meta_tags($surl);
$meta_enc = array();
foreach($meta_raw as $mkey => $mval) {
$meta_enc[$mkey] = str_to_utf8($mval);
}
// ------------------------------------------------------------
print "<p>the (old) raw data</p>\n";
print "<pre style=\"margin:6px; padding:6px; background:#FFFFCC; text-align:left;\">\n";
print_r($meta_raw);
print "</pre>\n";
print "<br />\n";
print "<br />\n";
// ------------------------------------------------------------
print "<p>the (new) utf8 encoded data</p>\n";
print "<pre style=\"margin:6px; padding:6px; background:#DEDEDE; text-align:left;\">\n";
print_r($meta_enc);
print "</pre>\n";
print "<br />\n";
print "<br />\n";
// ------------------------------------------------------------
?>
:)
在函数中:str_to_utf8($string) { ... }您还可以使用不同的方式对 $string 进行检测和编码像 iconv(), mb_convert_encoding(), ...
关于php - 字符集问题,MySQL 和 get_meta_tags(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1665479/
我在脚本中使用 get_meta_tags() 并在某些 URL 上失败(例如)... 警告:get_meta_tags(http://www.kodak.com/) [function.get-me
我想获取元标记(特别是 og:title、og:description 和 og:image) 我使用以下代码: $tags = get_meta_tags('https://www.shoutmel
我想获取元标记(特别是 og:title、og:description 和 og:image) 我使用以下代码: $tags = get_meta_tags('https://www.shoutmel
我正在尝试使用 get_meta_tags 函数来获取 url 的元信息。它无法给我来自相同来源或域的 url 的元信息。 就像我在 Controller 上做的一样http://example.co
定义和用法: get_meta_tags — 从一个文件中提取所有的 meta 标签 content 属性,返回一个数组 语法: 复制代码 代码如下: array
我使用 Laravel 5.2 进行网络抓取元标记,但我遇到了 get_meta_tags() 问题。 循环 get_meta_tags() 似乎存在超时和/或 cURL 问题。 以此为例 $urls
我正在尝试使用 get_meta_tags() 函数使用 PHP 获取 HTML 元标记。我对表、字符集/排序规则、MySQL 和其他所有内容的连接字符集使用 UTF8。 但不幸的是,MySQL 在插
因此 php 的 get_meta_tags 会获取具有名称字段的元标记,但有时有些元标记没有字段,但使用 property=""作为标识符,而此函数不会获取它.... 是否有更好的方法来获取元标记,
我想从 url 中提取元标记,尤其是标题和描述,但我不知道该怎么做。我试过 http://nodejs.org/docs/v0.4.2/api/http.html#http.request但我收到类似
PHP get_meta_tags. 是否有等效的 ruby/RoR 方法? 我正在寻找读取给定 url 的元标记信息 最佳答案 您可以尝试使用 Hpricot并做类似的事情: doc = Hpr
在 PHP 中,我使用 get_meta_tags() 和 get_headers(),但是,当出现 404 时,这两个函数会抛出警告。我有什么办法可以捕获它吗?谢谢! 最佳答案 get_header
我一直在使用 get_meta_tags() 和 get_headers() PHP 函数,并且需要设置超时值以防网站运行缓慢或无响应。有谁知道该怎么做? 最佳答案 您应该能够使用 default_s
我正在尝试使用 user contributed notes 中的代码在 php.net 上的 get_meta_tags功能。从表面上看,如果元标记的格式为 那么代码将错过它。目前,只有格式为 的
我是一名优秀的程序员,十分优秀!