wordpress文章标题输出

答案 WordPress 基本自带的函数都是直接输出文章标题长度的,有些标题太长了就会自动换行,解决办法一种是使用mbstring函数库来解决,这样就可以指定具体标题字数,另一种也可以通过CSS

34781

WordPress 基本自带的函数都是直接输出文章标题长度的,有些标题太长了就会自动换行,解决办法一种是使用mbstring函数库来解决,这样就可以指定具体标题字数,另一种也可以通过CSS的方式控制,这里我们只谈使用函数来控制。在 WordPress 里,我们使用

the_title();

来输出文章标题,与其相关的还有一个函数:

get_the_title();

简单的说说两者的关系,get_the_title() 返回值是一个字符串(文章标题),而 the_title() 就是该字符串通过 echo 输出后的值。

实际上就是 WordPress 自己在输出文章标题时进行了简化,直接用

the_title();

代替了

echo get_the_title();

除此之外这里还需要用到另外一个函数:mb_strimwidth(string str, int start, int width, [string trimmarker], [string encoding]);mb_strimwidth() truncates string str to specified width. It returns truncated string.If trimmarker is set, trimmarker is appended to return value.start is start position offset. Number of characters from the beginning of string. (First character is 0)trimmarker is string that is added to the end of string when string is truncated.encoding is character encoding. If it is omitted, internal encoding is used.

现在大部分的 PHP 服务器都支持了 MB 库(mbstring 库 全称是 Multi-Byte String 即各种语言都有自己的编码,他们的字节数是不一样的,目前php内部的编码只支持ISO-8859-*, EUC-JP, UTF-8 其他的编码的语言是没办法在 php 程序上正确显示的。解决的方法就是通过 php 的 mbstring 函数库来解决),所以我们可以放心的使用这个用于控制字符串长度的函数:

echo mb_strimwidth(get_the_title(), 0, 38, ‘…’);

那么我们只需要用上面这个函数替换 WordPress 原有的

the_title();

即可,这里我输出了字符串的第0位到第38位,根据主题的不同可以自行设置该数值,另外多余长度部分使用“…” 代替。

其实我在控制文章摘要的时候也是使用的这个函数,比如我在 ppcnnet 主题的首页里使用的就是

echo mb_strimwidth(strip_tags(apply_filters(‘the_content’, $post->post_content)), 0, 285,”……”);

来输出285个字符长度的摘要,并过滤了 HTML 标记。

虽然这是个很简单的方法,但我相信它对主题制作者而言还是相当实用的。

一:[\x81-\xfe]格式的正则:

$s=preg_replace('/^([\x81-\xfe][\x40-\xfe])*/','0',$neirong); 这里面的大多是日韩文字

二:x{4e00}格式的正则:

preg_match("/^[\x{4e00}-\x{9fa5}]{1,4}/u",$str); 这里面是匹配中文;

——————————————————————————

这些字符集尤其是日文字符集的各种字、标点以及特殊符号的时候有所帮助。

UTF8

[\x01-\x7f]|[\xc0-\xdf][\x80-\xbf]|[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xff][\x80-\xbf]{3}

UTF16

[\x00-\xd7][\xe0-\xff]|[\xd8-\xdf][\x00-\xff]{2}

JIS

[\x20-\x7e]|[\x21-\x5f]|[\x21-\x7e]{2}

SJIS

[\x20-\x7e]|[\xa1-\xdf]|([\x81-\x9f]|[\xe0-\xef])([\x40-\x7e]|[\x80-\xfc])

EUC_JP

[\x20-\x7e]|\x81[\xa1-\xdf]|[\xa1-\xfe][\xa1-\xfe]|\x8f[\xa1-\xfe]{2}

EUC_JP标点符号及特殊字符

[\xa1-\xa2][\xa0-\xfe]

EUC_JP全角数字

\xa3[\xb0-\xb9]

EUC_JP全角大写英文

\xa3[\xc1-\xda]

EUC_JP全角小写英文

\xa3[\xe1-\xfa]

EUC_JP全角平假名

\xa4[\xa1-\xf3]

EUC_JP全角片假名 [color=Red]2007-03-12 15:00更新[/color]

\xa3[\xb0-\xb9]|\xa3[\xc1-\xda]|\xa5[\xa1-\xf6][\xa3][\xb0-\xfa]|[\xa1][\xbc-\xbe]|[\xa1][\xdd]

EUC_JP全角汉字 [color=Red]2007-03-12 15:06更新[/color]

[\xb0-\xcf][\xa0-\xd3]|[\xd0-\xf4][\xa0-\xfe]|[\xB0-\xF3][\xA1-\xFE]|[\xF4][\xA1-\xA6]|[\xA4][\xA1-\xF3]|[\xA5][\xA1-\xF6]|[\xA1][\xBC-\xBE]

Big5

[\x01-\x7f]|[\x81-\xfe]([\x40-\x7e]|[\xa1-\xfe])

GBK

[\x01-\x7f]|[\x81-\xfe][\x40-\xfe]

GB2312汉字

[\xb0-\xf7][\xa0-\xfe]

GB2312半角标点符号及特殊符号

\xa1[\xa2-\xfe]

GB2312罗马数组及项目序号

\xa2([\xa1-\xaa]|[\xb1-\xbf]|[\xc0-\xdf]|[\xe0-\xe2]|[\xe5-\xee]|[\xf1-\xfc])

GB2312全角标点及全角字母

\xa3[\xa1-\xfe]

GB2312日文平假名

\xa4[\xa1-\xf3]

GB2312日文片假名

\xa5[\xa1-\xf6]

补充:

GB18030

[\x00-\x7f]|[\x81-\xfe][\x40-\xfe]|[\x81-\xfe][\x30-\x39][\x81-\xfe][\x30-\x39]

[color=Red]2007-03-12 21:35 补充[/color]

日文半角空格

\x20

SJIS全角空格

(?:\x81\x81)

SJIS全角数字

(?:\x82[\x4f-\x58])

SJIS全角大写英文

(?:\x82[\x60-\x79])

SJIS全角小写英文

(?:\x82[\x81-\x9a])

SJIS全角平假名

(?:\x82[\x9f-\xf1])

SJIS全角平假名扩展

(?:\x82[\x9f-\xf1]|\x81[\x4a\x4b\x54\x55])

SJIS全角片假名

(?:\x83[\x40-\x96])

SJIS全角片假名扩展

(?:\x83[\x40-\x96]|\x81[\x45\x5b\x52\x53])

EUC_JP全角空格

(?:\xa1\xa1)

EUC半角片假名

(?:\x8e[\xa6-\xdf])

——————————————————————————

下面是utf-8编码的例子:

$str = "汉字";

if (preg_match("/^[\x{4e00}-\x{9fa5}]+$/u",$str)) {

print("该字符串全部是中文");

} else {

print("该字符串不全部是中文");

}

下面的例子包含gbk,gb2312的例子:

<?php

$action = trim($_GET['action']);

if($action == "sub")

{

$str = $_POST['dir'];

//if(!preg_match("/^[".chr(0xa1)."-".chr(0xff)."A-Za-z0-9_]+$/",$str)) //GB2312汉字字母数字下划线正则表达式

if(!preg_match("/^[\x{4e00}-\x{9fa5}A-Za-z0-9_]+$/u",$str)) //UTF-8汉字字母数字下划线正则表达式

{

echo "<font color=red>您输入的[".$str."]含有违法字符</font>";

}

else

{

echo "<font color=green>您输入的[".$str."]完全合法,通过!</font>";

}

}

?>

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,转载此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

图片声明:本站部分配图来自人工智能系统AI生成,国外stocksnap摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国外贸事业出一份力,发布内容不收取任何费用也不接任何广告!
 

  • 热门焦点
  • 顺丰快递从上海到哈尔滨需要几天

    顺丰快递从上海寄到哈尔滨市区内,最快需要第3天到达收件,一般是不超过第4天上午。。。从上海到哈尔滨市有2270公里左右,已经是很远了,但现在的交通也很发达,快递也比较快。如果顺
    08-12
  • 京东快递跨省几天能到

    京东快递跨省一般1-3天的时间能到。在京东商城和京东自营买东西,一般采用京东快递配送。购买的商品一般是24小时内发货,一般到货时间是1-3天。如果是进驻商家,快递合作方由商家
    08-12
  • 正在通知快递取件一般要等多久

    正在通知快递取件一般要等2个小时左右,如果是约定取件,快递员会在约定的时间内上门取件。当商家发货后,快递公司会在1-2个工作日内到达商家所在地,并进行取件。然而,具体时间还要
    08-18
  • 怎样查询邮政的快递信息?

    进入到邮政官方,在邮件查询方式里选择手机号查询,输入手机号码和验证码,就可以查询了。操作方法如下:1、首先打开浏览器,输入邮政点击官网进入。2、进入之后点击邮件查询。3、在左侧的导航栏里继续点击邮件查询。4、然后选择手机号查询。5、输入手机号码并填写相关的信息后点
    09-24
  • 顺丰快递需要填写什么资料

    顺丰快递需要填写什么资料 顺丰快递需要填写寄件人地址,寄件人电话,收件人地址,收件人电话,物品名称,物品重量,物品体积,付款方式这些资料,以下是顺丰快递单据的填写方法: 1、填写寄件人资讯 首先要拿到一张顺丰空白快递单,填写寄件人资讯,公司名称可以根据实际情况可写可不写;联
    09-03
  • 为什么我的快递显示已签收却没有取件码?

    取件码是需要入库上架之后的,快递显示已经代收了,说明快递员已经把快递交给了代收点,比如说菜鸟驿站,但是菜鸟驿站还没来得及上架,所以没有取件码。快递又称速递或快运,是指物流
    08-18
  • 一对20公斤哑铃要邮走大概多少邮费哈尔滨到齐齐哈尔

    特快专递资费:20元/500克,每加量500克加收6元。共134元邮费。(包装费另算)快递包裹资费:与特快专递的资费约等于一半。(包装费另算)普通包裹资费:1.2元/1000克在加三元挂号费。(
    08-11
  • 菜鸟驿站不扫码出库有影响吗

    菜鸟驿站不扫码出库没有影响。菜鸟没有扫码出库直接拿走没有影响,系统会自动签收的。在购物时,如果时间上不方便接收快递,可以选择由菜鸟驿站代为签收,快递到达菜鸟驿站后,菜鸟驿
    08-18
  • 中铁单位有多少局?都分布在哪,子公司在哪

    1、中国铁路工程总公司:北京市西客站南广场中铁工程大厦;2、中铁一局集团有限公司:西安市雁塔北路1号;3、中铁二局集团有限公司:成都市马家花园路10号;4、中铁三局集团有限公司:太原市迎泽大街269号;5、中铁四局集团有限公司:合肥市望江东路96号;6、中铁五局集团有限公司:贵阳市枣山
    09-03
  • 中国邮编是多少, Zip code是什么啊?

    您好!中国的邮政编码是6位数,在世界任何一个地方往中国寄件都是填写6位邮编。Zip Code 是美国邮编的叫法从国外寄信件到中国大陆如何填写邮编?直接填写大陆地址对应的邮编即可
    08-12
  • 邮政快递营业时间表

    早上8点至下午6点。根据查询中国邮政官网显示,邮政快递营业时间是周一至周日早上8点至下午6点,节假日不休息。邮政快递主要经营国内速递、国际速递、合同物流等业务,是中国速递
    08-12
  • 韵达快递货物寄出后多长时间能查到物流信息

    一般情况下快递到店会进行录单,便可在官网上查询,此时提示“xxxx网点已揽件”包括发出时间、地点、货物状态都会详细记录的,单号查询可在韵达官网可查询详细的记录通常当天上午
    08-11
  • 国际邮寄包裹资费标准?

    国内邮件资费 (2004年1月1日起执行) 单位:元 编号 业务种类 计费单位 资费标准 本埠(县)资费 外埠资费 1 信函 首重100克内,每重20克 (不足20克按20克计算) 0.60 0.80 续重101-2000
    08-13
  • 有什么快递公司可以往国外寄东西?

    国际快递是指在全球提供门到门服务的公司,主要的公司有:①EMS : 国家邮局国际特快专递,由到达国的邮局派送。国内的如顺丰、韵达申通快递都是有开通部分国际业务。②四大国际巨
    08-12