PHP - 获取两个标签之间的中文字符串
PHP - Get Chinese string between two tags
这是我使用的代码:
function get_string_between($string, $start, $end){
$string = ' ' . $string;
$ini = mb_strpos($string, $start);
if ($ini == 0) return '';
$ini += mb_strlen($start);
$len = mb_strpos($string, $end, $ini) - $ini;
return mb_substr($string, $ini, $len, mb_detect_encoding($string));
}
$string = '<div>財物類</div>';
$parsed = get_string_between($string, '<div>', '</div>');
echo $parsed;
这是我得到的结果:財物類
我显然想要的结果是:财物类
它在我的环境中运行良好,您只需使用文本编辑器将文件编码设置为 UTF-8。
或者如果是浏览器问题,可以肯定的,加
header('Content-Type: text/html; charset=utf-8');
之前
echo $parsed;
这会强制浏览器将服务器响应编码解释为 UTF-8,如果您使用 UTF-8 编码(您的响应例如 HTML编码为UTF-8).
这是我使用的代码:
function get_string_between($string, $start, $end){
$string = ' ' . $string;
$ini = mb_strpos($string, $start);
if ($ini == 0) return '';
$ini += mb_strlen($start);
$len = mb_strpos($string, $end, $ini) - $ini;
return mb_substr($string, $ini, $len, mb_detect_encoding($string));
}
$string = '<div>財物類</div>';
$parsed = get_string_between($string, '<div>', '</div>');
echo $parsed;
这是我得到的结果:財物類
我显然想要的结果是:财物类
它在我的环境中运行良好,您只需使用文本编辑器将文件编码设置为 UTF-8。 或者如果是浏览器问题,可以肯定的,加
header('Content-Type: text/html; charset=utf-8');
之前
echo $parsed;
这会强制浏览器将服务器响应编码解释为 UTF-8,如果您使用 UTF-8 编码(您的响应例如 HTML编码为UTF-8).