php破坏代码,php不破坏单词截取子字符串

本文介绍了PHP中用于不破坏单词截取子字符串的三种函数:`snippet`、`snippetgreedy`和`snippetwop`。这些函数分别用于按固定长度截取、贪婪模式截取和去除尾部低优先级标点符号后的截取。示例代码展示了它们的用法,帮助理解如何在实际开发中应用。
摘要由CSDN通过智能技术生成

php不破坏单词截取子字符串

/*

snippet(phrase,[max length],[phrase tail])

snippetgreedy(phrase,[max length before next space],[phrase tail])

*/

function snippet($text,$length=64,$tail="...") {

$text = trim($text);

$txtl = strlen($text);

if($txtl > $length) {

for($i=1;$text[$length-$i]!=" ";$i++) {

if($i == $length) {

return substr($text,0,$length) . $tail;

}

}

$text = substr($text,0,$length-$i+1) . $tail;

}

return $text;

}

// It behaves greedy, gets length characters ore goes for more

function snippetgreedy($text,$length=64,$tail="...") {

$text = trim($text);

if(strlen($text) > $length) {

for($i=0;$text[$length+$i]!=" ";$i++) {

if(!$text[$length+$i]) {

return $text;

}

}

$text = substr($text,0,$length+$i) . $tail;

}

return $text;

}

// The same as the snippet but removing latest low punctuation chars,

// if they exist (dots and commas). It performs a later suffixal trim of spaces

function snippetwop($text,$length=64,$tail="...") {

$text = trim($text);

$txtl = strlen($text);

if($txtl > $length) {

for($i=1;$text[$length-$i]!=" ";$i++) {

if($i == $length) {

return substr($text,0,$length) . $tail;

}

}

for(;$text[$length-$i]=="," || $text[$length-$i]=="." || $text[$length-$i]==" ";$i++) {;}

$text = substr($text,0,$length-$i+1) . $tail;

}

return $text;

}

/*

echo(snippet("this is not too long to run on the column on the left, perhaps, or perhaps yes, no idea") . "
");

echo(snippetwop("this is not too long to run on the column on the left, perhaps, or perhaps yes, no idea") . "
");

echo(snippetgreedy("this is not too long to run on the column on the left, perhaps, or perhaps yes, no idea"));

*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值