以下是一个示例:
$myString = "这是一个字符串"; $substring = substr($myString, 0, 3); echo $substring; // 输出 "这是一"
请注意,如果您要提取的字符数超过字符串的长度,则substr()函数将返回整个字符串。如果起始位置是负数,则它将从字符串的末尾开始计数。
以下是一个php截取字符串的实际用例。
我们建立一个名为getWords的PHP函数,它接受两个参数:$content和$count。此函数的目的是从$content中提取前$count个字符,并将其作为字符串返回。如果$content的长度大于$count,则会在返回字符串的末尾附加一个省略号。
在截取字符串前,该函数需要对$content执行一系列字符串操作。
首先,它使用正则表达式从$content中删除<script>、<iframe>和<style>标记。
然后,它通过用一个空字符串替换剩余的HTML标记来删除它们。
接下来,它将从$content中删除换行符。
最后,它将任何连续的空格替换为单个空格。
在这些操作之后,该函数使用mb_substr函数从$content中提取前$count个字符。
如果$content的长度大于$count,则省略号会附加到返回字符串的末尾。
以下是getWords函数的代码:
function getWords($content, $count) { $content = preg_replace("@<script(.*?)</script>@is", "", $content); $content = preg_replace("@<iframe(.*?)</iframe>@is", "", $content); $content = preg_replace("@<style(.*?)</style>@is", "", $content); $content = preg_replace("@<(.*?)>@is", "", $content); $content = str_replace(PHP_EOL, '', $content); $space = array(" ", " ", " ", " ", " "); $go_away = array("", "", "", "", ""); $content = str_replace($space, $go_away, $content); $res = mb_substr($content, 0, $count, 'UTF-8'); if (mb_strlen($content, 'UTF-8') > $count) { $res = $res . "..."; } return $res; }
上一篇:GO获取字符串的前N个字符
下一篇:紫云羚充值中心正式升级上线