【问题标题】:Content segregation from a Text string与文本字符串的内容隔离
【发布时间】:2011-08-10 21:18:49
【问题描述】:

我将这个"&params=&offer=art-by-jeremy-johnson" 存储在我的数据库中。

是否有任何函数/方法可以使用上述作为输入值将输出作为"Art by Jeremy Johnson"。这应该只在运行时更改为输出"Art by Jeremy Johnson"

这可以在 PHP 中完成吗?

请帮忙。

【问题讨论】:

  • 简单的答案是肯定的。它可以用 PHP 或 Java 完成。如果只需要 PHP,为什么要在 Java 中标记问题?

标签: php string text-processing


【解决方案1】:
$orig = '&params=&offer=art-by-jeremy-johnson';
$parts = explode('=', $orig);
$output = explode('-', end($parts));
echo ucwords(implode(' ', $output));

【讨论】:

    【解决方案2】:

    在 Java 中,我猜你可以使用 lastIndexOf 获取等号的最后一个索引,并获取字符串的其余部分(使用 substring)。

    if (myString.lastIndexOf("=") != -1) {
       String words = myString.substring(myString.lastIndexOf("=")+1);
       words.replaceAll("-", " ");
       return words;
    }
    

    【讨论】:

      【解决方案3】:
      $string="&params=&offer=art-by-jeremy-johnson";
      
      parse_str($string,$output);
      //print_r($output);
      $str=ucwords(str_replace("-"," ",$output['offer']));
      

      【讨论】:

        【解决方案4】:

        如果我理解得很好,您不想将某些单词大写。

        这是一种方法:

        $str = "&params=&offer=art-by-jeremy-johnson";
        
        // List of words to NOT capitalized
        $keep_lower = array('by');
        
        parse_str($str, $p);
        $o = explode('-', $p['offer']);
        $r = array();
        foreach ($o as $w) {
            if (!in_array($w, $keep_lower))
                $w = ucfirst($w);
            $r[] = $w;
        }
        $offer = implode(' ', $r);
        echo $offer,"\n";
        

        输出:

        Art by Jeremy Johnson
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2023-01-29
          • 2019-08-14
          • 2016-08-27
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-08-06
          相关资源
          最近更新 更多