欢迎来到个人简历网!永久域名:gerenjianli.cn (个人简历全拼+cn)
当前位置:首页 > 范文大全 > 实用文>WordPress中文截取函数用法分析

WordPress中文截取函数用法分析

2022-11-29 08:56:56 收藏本文 下载本文

“Zpressen”通过精心收集,向本站投稿了7篇WordPress中文截取函数用法分析,下面是小编整理后的WordPress中文截取函数用法分析,欢迎您能喜欢,也请多多分享。

WordPress中文截取函数用法分析

篇1:WordPress中文截取函数用法分析

很多朋友直接使用php substr函数截取中文是会出现乱码,下面我先来给各位总结中文字符截取的函数,然后以wordpress截取中文标题为例给大家介绍实例应用.

中文截取函数,代码如下:

代码如下:

function utf8_trim($str)

{

$len = strlen($str);

for ($i=strlen($str)-1; $i>=0; $i-=1){

$hex .= ‘ ‘.ord($str[$i]);

$ch = ord($str[$i]);

if (($ch & 128)==0) return(substr($str,0,$i));

if (($ch & 192)==192) return(substr($str,0,$i));

}

return($str.$hex);

}

function mul_excerpt ($excerpt,$excerpt_length) {

$myexcerpt = substr($excerpt,0,$excerpt_length);

return utf8_trim($myexcerpt) . ‘… ‘;

}

或者这样也可以

代码如下:

//自动截断不乱码

// jieduan luanma

/////////////////

function Limit_Char($max_char = 200, $more_text = ‘...‘, $more_link_text = ‘‘, $limit_type = ‘content‘) {

if ($limit_type == ‘title‘) { $limiter = get_the_title; }

else { $limiter = get_the_content(); }

$limiter = apply_filters(‘the_content‘, $limiter);

$limiter = strip_tags(str_replace(‘]]>‘, ‘]]>‘, $limiter));

if (strlen($limiter) >$max_char) {

$limiter = substr($limiter, 0, $max_char+1);

$limiter = utf8_conver($limiter);

echo $limiter;

echo $more_text;

if ($more_link_text != ‘‘) {

echo ‘ ‘.$more_link_text.‘‘;

}

} else {

echo $limiter;

}

}

function utf8_conver($str) {

$len = strlen($str);

for ($i=strlen($str)-1; $i>=0; $i-=1){

$hex .= ‘ ‘.ord($str[$i]);

$ch = ord($str[$i]);

if (($ch & 128)==0) return(substr($str,0,$i));

if (($ch & 192)==192) return(substr($str,0,$i));

}

return($str.$hex);

}

截取中文标题,代码如下:

代码如下:

echo ‘

‘. mb_substr(get_the_title(),0,18,“utf8”).“...” .‘

‘;

这样会出现乱码的,我在functions.php加入上面的中文截取代码,然后在想要截取标题的位置,添加get_short_title(),目的就达到,详细代码如下:

代码如下:

echo ‘

‘;

get_short_title(18);

echo ‘

‘. get_the_time(‘n月j日‘) .‘‘;

当然,其他地方这样调用也可以,代码如下:

代码如下:

希望本文所述对大家的WordPress建站有所帮助,

篇2:Excel截取中文的综合函数应用举例

在Excel里,可以根据函数截取各种字符,仍然,却没有截取中文的函数,

因此,要想让Excel能够截取单元格中的中文汉字,我们就必须借助多个函数,实现综合应用,才能截取相应的汉字。

以下是举例,希望对您有帮助。

如下表。

看好了,单元格A1中的内容,是中文和其它英文字符数据的混合,请注意,中文要么在左边要么在右边,并且,必须是连续的,如上图一样,这样,才能够通过综合函数截取出来。

一、截取除汉字之外的字符

如下图。

通过公式:=RIGHT(A1,LEN(A1)*2-LENB(A1))

就可以实现截取。

二、截取汉字

如下图。

直接通过公式:=LEFT(A1,LEN(A1)*2-LENB(A1))

就可以截取。

如上的截取,函数都很简单,但是难以理解,下面,给您逐一介绍。

三、综合函数分析

LEFT函数,我们都是知道,左截取字符的函数。指的是从左边开始截取。同类,RIGHT函数是右截取函数。

LEFT函数中文语法可以理解为:LEFT(A1,截取长度),即从左边第一位开始截取字符串,截取指定的长度,

A1为要截取的对象。RIGHT函数同理,就不再介绍了。

现在,我们来仔细分析如上的综合函数::=LEFT(A1,LEN(A1)*2-LENB(A1))

套用如上的LEFT的中文语法,可理解为LEFT(A1,截取长度),即截取长度这个参数的值相当于LEN(A1)*2-LENB(A1)。

LEN函数是用于求一个字符串的长度的。而LENB函数是用来求一个字符串的字节数量的。

注意,无论大小英文、中文或其它符号,通过LEN求长度,每个字符只占一个单位。而LENB函数求字节大小时,中文中两个单位,而非中文只占一个单位。至于这两个函数的介绍,请参阅文章:www.dzwebs.net/3164.html

举例:假设A1单元格的内容是:大众计算机6789

那么,LEN(A1)返回值为:9,即每个字符占一个单位,共有九个,因此返回九。

LENB(A1),用来求A1单元格的内容的字节数,返回14.

现在,我们的理论是来源于这种思想的,A1单元格的字符长度的两倍即LEN(A1)*2减去A1单元格的字节数,就等于中文的所占的长度。

LEN(A1)*2相当于把A1中的内容,每个字符按两个长度来算。

所以才会推论出:=LEFT(A1,LEN(A1)*2-LENB(A1))公式截取左边的中文。

当然,LEFT和RIGHT函数,不管中文还是英文还是其它符号,每个字一律按一个长度来算。只有LENB函数会将一个中文以两个长度来计算。

篇3:自己写的php中文截取函数mbstrlen和mbsubstr

这篇文章主要介绍了自己写的php中文截取函数mb_strlen和mb_substr,在服务器没mbstring库时可以使用本文函数代替,需要的朋友可以参考下

众所周知,php 自带的 strlen 与 substr 函数没法处理中文字符,于是,我们会用 mb_ 系列函数替代,但是,没有 mbstring 库怎么办?这就需要我们自己写一个来替代了,废话不多说,先上代码:

代码如下:

if ( !function_exists(‘mb_strlen‘) ) {

function mb_strlen ($text, $encode) {

if ($encode==‘UTF-8‘) {

return preg_match_all(‘%(?:

[\x09\x0A\x0D\x20-\x7E]          # ASCII

| [\xC2-\xDF][\x80-\xBF]           # non-overlong 2-byte

| \xE0[\xA0-\xBF][\x80-\xBF]      # excluding overlongs

| [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2} # straight 3-byte

| \xED[\x80-\x9F][\x80-\xBF]      # excluding surrogates

| \xF0[\x90-\xBF][\x80-\xBF]{2}   # planes 1-3

| [\xF1-\xF3][\x80-\xBF]{3}        # planes 4-15

| \xF4[\x80-\x8F][\x80-\xBF]{2}   # plane 16

)%xs‘,$text,$out);

}else{

return strlen($text);

}

}

}

/* from Internet, author unknown */

if (!function_exists(‘mb_substr‘)) {

function mb_substr($str, $start, $len = ‘‘, $encoding=“UTF-8”){

$limit = strlen($str);

for ($s = 0; $start >0;--$start) {// found the real start

if ($s >= $limit)

break;

if ($str[$s] <= “\x7F”)

++$s;

else {

++$s; // skip length

while ($str[$s] >= “\x80” && $str[$s] <= “\xBF”)

++$s;

}

}

if ($len == ‘‘)

return substr($str, $s);

else

for ($e = $s; $len >0; --$len) {//found the real end

if ($e >= $limit)

break;

if ($str[$e] <= “\x7F”)

++$e;

else {

++$e;//skip length

while ($str[$e] >= “\x80” && $str[$e] <= “\xBF” && $e < $limit)

++$e;

}

}

return substr($str, $s, $e - $s);

}

}

篇4:python函数局部变量用法实例分析

作者:东郭先生 字体:[增加 减小] 类型:

当你在函数定义内声明变量的时候,它们与函数外具有相同名称的其他变量没有任何关系,即变量名称对于函数来说是 局部 的。这称为变量的 作用域 。所有变量的作用域是它们被定义的块,从它们的名称被定义的那点开始。

一、使用局部变量

示例如下:

#!/usr/bin/python# Filename: func_local.pydef func(x): print ‘x is‘, x x = 2 print ‘Changed local x to‘, xx = 50func(x)print ‘x is still‘, x

输出:

$ python func_local.pyx is 50Changed local x to 2x is still 50

工作原理:

在函数中,我们第一次使用x的 值 的时候,Python使用函数声明的形参的值。

接下来,我们把值2赋给x。x是函数的局部变量。所以,当我们在函数内改变x的值的时候,在主块中定义的x不受影响。

在最后一个print语句中,我们证明了主块中的x的值确实没有受到影响,

二、使用global语句

如果你想要为一个定义在函数外的变量赋值,那么你就得告诉Python这个变量名不是局部的,而是 全局 的。我们使用global语句完成这一功能。没有global语句,是不可能为定义在函数外的变量赋值的。

你可以使用定义在函数外的变量的值(假设在函数内没有同名的变量)。然而,我并不鼓励你这样做,并且你应该尽量避免这样做,因为这使得程序的读者会不清楚这个变量是在哪里定义的。使用global语句可以清楚地表明变量是在外面的块定义的。

使用global语句示例:

#!/usr/bin/python# Filename: func_global.pydef func: global x print ‘x is‘, x x = 2 print ‘Changed local x to‘, xx = 50func()print ‘Value of x is‘, x

输出:

$ python func_global.pyx is 50Changed global x to 2Value of x is 2

工作原理:

global语句被用来声明x是全局的――因此,当我们在函数内把值赋给x的时候,这个变化也反映在我们在主块中使用x的值的时候。

你可以使用同一个global语句指定多个全局变量。例如global x, y, z。

希望本文所述对大家的Python程序设计有所帮助。

篇5:python函数形参用法实例分析

作者:不是JS 字体:[增加 减小] 类型:转载

这篇文章主要介绍了python函数形参用法,较为详细的讲述了Python函数形参的功能、定义及使用技巧,需要的朋友可以参考下

本文实例讲述了python函数形参用法,分享给大家供大家参考。具体如下:

函数形参:

函数取得的参数是你提供给函数的值,这样函数就可以利用这些值 做 一些事情。这些参数就像变量一样,只不过它们的值是在我们调用函数的时候定义的,而非在函数本身内赋值。

参数在函数定义的圆括号对内指定,用逗号分割。当我们调用函数的时候,我们以同样的方式提供值。注意我们使用过的术语――函数中的参数名称为 形参 而你提供给函数调用的值称为 实参 。

使用函数形参:

#!/usr/bin/python# Filename: func_param.pydef printMax(a, b): if a >b: print a, ‘is maximum‘ else: print b, ‘is maximum‘printMax(3, 4) # directly give literal valuesx = 5y = 7printMax(x, y) # give variables as arguments

运行结果如下:

4 is maximum

7 is maximum

工作原理:

这里,我们定义了一个称为printMax的函数,这个函数需要两个形参,叫做a和b,

我们使用if..else语句找出两者之中较大的一个数,并且打印较大的那个数。

在第一个printMax使用中,我们直接把数,即实参,提供给函数。在第二个使用中,我们使用变量调用函数。printMax(x, y)使实参x的值赋给形参a,实参y的值赋给形参b。在两次调用中,printMax函数的工作完全相同。

希望本文所述对大家的Python程序设计有所帮助。

篇6:Go语言中append函数用法分析

作者:books1958 字体:[增加 减小] 类型:

这篇文章主要介绍了Go语言中append函数用法,对比使用append函数与不使用append函数的两个实例,详细分析了Go语言中append函数的功能,需要的朋友可以参考下

本文实例分析了Go语言中append函数用法,分享给大家供大家参考。具体如下:

Go语言中append的功能十分强大,使用它可以使很多功能的实现变得更加简洁。以下为简单对比:

.将一个slice插入到另一个slice的指定位置:

不使用append:

代码如下:

func insertSliceAtIndex(slice_origin []int, slice_to_insert []int,

insertIndex int) (result []int, err error) {

if insertIndex >len(slice_origin) {

return nil, errors.New(“insertIndex不能大于slice_origin的长度”)

}

result = make([]int, len(slice_origin)+len(slice_to_insert))

for i := 0; i < len(result); i++ {

if i < insertIndex { //插入点之间

result[i] = slice_origin[i]

} else if i < insertIndex+len(slice_to_insert) { //插入内容

result[i] = slice_to_insert[i-insertIndex]

} else {

result[i] = slice_origin[i-len(slice_to_insert)]

}

}

return

}

使用append时,代码将十分简洁:

代码如下:

d := []string{“Welcome”, “for”, “Tianjin”, “Have”, “a”, “good”, “journey”}

insertSlice := []string{“It”, “is”, “a”, “big”, “city”}

insertSliceIndex := 3

d = append(d[:insertSliceIndex],

append(insertSlice, d[insertSliceIndex:]...)...)

fmt.Printf(“result:%v\n”, d)

希望本文所述对大家的Go语言程序设计有所帮助,

篇7:GO语言延迟函数defer用法分析

defer 在声明时不会立即执行,而是在函数 return 后,再按照 FILO (先进后出)的原则依次执行每一个 defer,一般用于异常处理、释放资源、清理数据、记录日志等。这有点像面向对象语言的析构函数,优雅又简洁,是 Golang 的亮点之一。

代码1:了解 defer 的执行顺序

代码如下:

package main

import “fmt”

func fn(n int) int {

defer func() {

n++

fmt.Println(“3st:”, n)

}()

defer func() {

n++

fmt.Println(“2st:”, n)

}()

defer func() {

n++

fmt.Println(“1st:”, n)

}()

return n //没有做任何事情

}

func main() {

fmt.Println(“函数返回值:”, fn(0))

}

输出:

1st: 1

2st: 2

3st: 3

函数返回值: 0

代码2:经典应用实例

代码如下:

func CopyFile(dst, src string) (w int64, err error) {

srcFile, err := os.Open(src)

if err != nil {

return

}

defer srcFile.Close() //每次申请资源时,请习惯立即申请一个 defer 关闭资源,这样就不会忘记释放资源了

dstFile, err := os.Create(dst)

if err != nil {

return

}

defer dstFile.Close()

return io.Copy(dstFile, srcFile)

}

defer 还有一个重要的特性,就是即便函数抛出了异常,也会被执行的,

这样就不会因程序出现了错误,而导致资源不会释放了。

希望本文所述对大家的GO语言程序设计有所帮助。

【WordPress中文截取函数用法分析】相关文章:

1.asp实现截取字符串函数

2.Python中的filter函数的用法

3.Python函数返回值实例分析

4.Smile代表什么意思中文用法是什么

5.listen的用法中文意思是什么

6.中国城乡消费函数对比分析

7.advantage的用法和短语例句中文意思是什么

8.appear的用法和短语例句中文意思是什么

9.函数教案

10.函数课件

下载word文档
《WordPress中文截取函数用法分析.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度: 评级1星 评级2星 评级3星 评级4星 评级5星
点击下载文档

文档为doc格式

  • 返回顶部