Php 细枝-从字符串中获取字数
我使用的是craft cms,它使用了细枝模板,并希望从字符串中获得单词数。我尝试过使用PHP函数str_word_count: 但是,我犯了一个错误: 未知str\u word\u计数函数Php 细枝-从字符串中获取字数,php,string,twig,Php,String,Twig,我使用的是craft cms,它使用了细枝模板,并希望从字符串中获得单词数。我尝试过使用PHP函数str_word_count: 但是,我犯了一个错误: 未知str\u word\u计数函数 如何从细枝模板中的字符串中获取字数?您可以这样做: {% set numberOfWords = entry.summary|split(' ')|length %} 函数将按给定的参数空间将字符串拆分为数组,并对数组元素进行计数。您可以这样做: {% set numberOfWords = entry.
如何从细枝模板中的字符串中获取字数?您可以这样做:
{% set numberOfWords = entry.summary|split(' ')|length %}
函数将按给定的参数空间将字符串拆分为数组,并对数组元素进行计数。您可以这样做:
{% set numberOfWords = entry.summary|split(' ')|length %}
函数将按给定的参数空间将字符串拆分为数组,并对数组元素进行计数。创建自定义扩展并使用其中的任何PHP函数:创建自定义扩展并使用其中的任何PHP函数:正如Tomas建议的那样, 我为这种情况编写了自己的细枝过滤器函数:
<?php
namespace AppBundle\TwigExtensions;
use Symfony\Bundle\FrameworkBundle\Routing\Router;
use Twig\TwigFilter;
class TwigExtensions extends \Twig_Extension
{
/**
* this is needed
*
* @return string
*/
public function getName()
{
return 'your_twig_extensions';
}
/**
*
* @return array
*/
public function getFunctions()
{
return array();
}
/**
*
*
* @return array
*/
public function getFilters()
{
return array(
new \Twig_SimpleFilter('strWordCount', array($this, 'strWordCount')),
);
}
/**
* count Words in string
*
* @return string
*/
public function strWordCount($text = null)
{
return str_word_count($text);
}
}
正如Tomas所说, 我为这种情况编写了自己的细枝过滤器函数:
<?php
namespace AppBundle\TwigExtensions;
use Symfony\Bundle\FrameworkBundle\Routing\Router;
use Twig\TwigFilter;
class TwigExtensions extends \Twig_Extension
{
/**
* this is needed
*
* @return string
*/
public function getName()
{
return 'your_twig_extensions';
}
/**
*
* @return array
*/
public function getFunctions()
{
return array();
}
/**
*
*
* @return array
*/
public function getFilters()
{
return array(
new \Twig_SimpleFilter('strWordCount', array($this, 'strWordCount')),
);
}
/**
* count Words in string
*
* @return string
*/
public function strWordCount($text = null)
{
return str_word_count($text);
}
}
你的php版本是什么?你的php版本是什么?如果你有两个部分的单词怎么办?那么我的答案会把它算作一个。例如,foo-bar将产生一个单词。但是,即使根据定义,也可以将其计算为1:就这个函数而言,“word”被定义为一个与区域设置相关的字符串,包含字母字符,字母字符也可以包含,但不能以“和-字符”开头。我更多考虑的是不带-的两部分单词,比如说乒乓球,如果你有两个部分的单词呢?那么我的答案是单数。例如,foo-bar将产生一个单词。但是,即使根据定义,也可以将其视为1:为了实现此功能,“word”被定义为一个与区域设置相关的字符串,其中包含字母字符,也可以包含,但不能以“and-characters”开头。我更多地考虑了不包含-,例如乒乓球的两部分单词