【问题标题】:Print 5th Word from the Title打印标题的第 5 个单词
【发布时间】:2020-02-18 15:03:55
【问题描述】:

我正在尝试从标题中获取第 5 个单词以将其用作面包屑路径。它还需要打印,直到遇到特殊字符,例如 , 或 ( 就像这里:

例如:Lorem ipsum dolor sit Amet, consectetur adipiscing elit

结果:阿美特

current(explode(',', get_the_title( $post->ID )));

【问题讨论】:

  • 当您说“打印直到遇到特殊字符”时,您是指不是字母数字的任何字符吗?
  • 请提供一些具体的输入示例和预期结果
  • 可以,但是这种情况下只需要 - , ( [
  • 当我使用 current(explode(' ') 时,我只得到第一个单词。要得到第五个单词必须是什么?
  • @tw8sw8dw8,如果以下任何答案对您有用,您能否提供反馈和/或接受?

标签: php wordpress


【解决方案1】:

您可以首先分解由空格''分隔的字符串。在此之后得到的数组中,第 4 个索引将包含您的第 5 个单词。使用 str_replace 您可以替换第 5 个单词中的逗号,您将获得输出 Amet

$myvalue = 'Lorem ipsum dolor sit Amet, consectetur adipiscing elit';
$arr = explode(' ',trim($myvalue));
echo $arr[4]; // get 5th word 
$str = str_replace( ',', '', $arr[4] ); 
// Display the  string separated from comma
echo($str); 

【讨论】:

    【解决方案2】:

    这是一个函数,可以为您提供任何单词位置以及您想要停止的字符列表。

    $str = 'Lorem ipsum dolor sit Amet, consectetur adipiscing elit';
    
    echo getNthWord($str, ' ', 5, [',','(','[']);
    
    function getNthWord($input, $delimiter, $numWord, $replaceChars = []) {
      $split = explode($delimiter, $input);
      $word = $split[ $numWord - 1 ];
    
      return str_replace($replaceChars, '', $word);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-12-03
      • 2016-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多