本文整理汇总了PHP中text::removeAccents方法的典型用法代码示例。如果您正苦于以下问题:PHP text::removeAccents方法的具体用法?PHP text::removeAccents怎么用?PHP text::removeAccents使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类text
的用法示例。
在下文中一共展示了text::removeAccents方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: summary
/**
* Extract a summary of a text, optionaly with a keyword highlighted
*
* @param string $txt Text
* @param int $l Max length of the summary
* @param string|array $limiter Prefix and Suffix. e.g: "..." or ["", "..."]
* @param string $keyword Highlighted keyword
* @return string Summary
*/
public static function summary($txt, $l, $limiter = '', $keyword = null)
{
$start = 0;
$txt = trim(preg_replace('#\\s+#', ' ', $txt));
$keyword = trim(preg_replace('#\\s+#', ' ', $keyword));
if (is_array($limiter)) {
$limiterLeft = $limiter[0];
$limiterRight = $limiter[1];
} else {
$limiterLeft = $limiter;
$limiterRight = $limiter;
}
if (strlen($txt) <= $l) {
return $txt;
}
if (isset($keyword)) {
$txt_ = strtolower(text::removeAccents($txt));
$keyword = strtolower(text::removeAccents($keyword));
$p = strpos($txt_, $keyword);
if ($p === false && strpos($keyword, ' ') !== false) {
$keyword = preg_split('# +#', $keyword);
foreach ($keyword as $keyword_) {
$p = strpos($txt_, $keyword_);
if ($p !== false) {
$keyword = $keyword_;
break;
}
}
}
if ($p !== false) {
$start = round($p + strlen($keyword) / 2 - $l / 3);
if ($start < 0) {
$start = 0;
}
if ($start > strlen($txt) - $l) {
$start = strlen($txt) - $l;
}
if ($start != 0) {
if (($pos = strpos($txt, ' ', $start)) !== false) {
$start = strpos($txt, ' ', $start) + 1;
}
}
}
}
if ($start + $l >= strlen($txt)) {
$txt = substr($txt, $start);
$limiterRight = '';
} else {
$txt = substr($txt, $start, $l);
if (($pos = strrpos($txt, ' ')) !== false) {
$txt = substr($txt, 0, $pos);
}
}
if ($start == 0) {
$limiterLeft = '';
}
return $limiterLeft . trim($txt) . $limiterRight;
}