<?php
/**
* 移除地址名中的「市」或者「区」
* @param type $province
* @return string
*/
public static function removeAddressTail($address)
{
if (self::endsWith($address, "特别行政区")) {
return mb_str_replace("特别行政区", "", $address);
} elseif (self::endsWith($address, "自治区")) {
return mb_str_replace("自治区", "", $address);
} elseif (self::endsWith($address, "省")) {
return mb_substr($address, 0, mb_strlen($address) - 1);
} elseif (self::endsWith($address, "市")) {
return mb_substr($address, 0, mb_strlen($address) - 1);
}
return $address;
}
/**
* 检查$haystack是否以$needle开头
* @param string $haystack
* @param string $needle
* @return boolean
*/
private static function startsWith($haystack, $needle)
{
$length = mb_strlen($needle);
return (mb_substr($haystack, 0, $length) === $needle);
}
/**
* 检查字符串$haystack是否以$needle结尾
* @param string $haystack
* @param string $needle
* @return boolean
*/
private static function endsWith($haystack, $needle)
{
$length = mb_strlen($needle);
return $length === 0 ||
(mb_substr($haystack, -$length) === $needle);
}
/**
* var_export函数扩展,导出结果为方括号
* @param type $var
* @param type $indent
* @return type
*/
function var_export54($var, $indent = "")
{
switch (gettype($var)) {
case "string":
return '"' . addcslashes($var, "\\\$\"\r\n\t\v\f") . '"';
case "array":
$indexed = array_keys($var) === range(0, count($var) - 1);
$r = [];
foreach ($var as $key => $value) {
$r[] = "$indent "
. ($indexed ? "" : var_export54($key) . " => ")
. var_export54($value, "$indent ");
}
return "[\n" . implode(",\n", $r) . "\n" . $indent . "]";
case "boolean":
return $var ? "TRUE" : "FALSE";
default:
return var_export($var, TRUE);
}
}