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).