【问题标题】:Imploding a regex array into a single string将正则表达式数组内爆成单个字符串
【发布时间】:2019-06-14 06:41:27
【问题描述】:

我正在 PHP 中做一些 Twitter 标签查找器功能,我决定将所有标签存储在一个由空格分隔的字符串中。

目前,我正在清理以下字符串:

#Hello my name is #Jeanie! #PleasureToMeetYou!!!

输出应该是:

#Hello #Jeanie #PleasureToMeetYou

这是我的代码:

function sanitizeTags($input)
{  
    if(preg_match_all("/#[^\s\p{P}]+/", $input, $arr))
    {
        $output = implode(" ",$arr);
        return $output;
    }
}

它返回我Array 作为输出。这意味着内爆出了点问题。

有没有一种快速简便的方法将数组的所有值存储在一个字符串中?

【问题讨论】:

  • 我在这个问题中看不到任何我将其描述为正则表达式数组的内容。我错过了什么?
  • 只需使用正则表达式输出数组的 0 索引 $output = implode(" ",$arr[0]);
  • 只是一个想法——在我的推特分析中我只是忽略了#,因为有时人们在推特上没有标记,而且这些词具有相同的含义......
  • @dagelf 所以基本上所有的词都被认为是“标签词”?

标签: php arrays string


【解决方案1】:
function sanitizeTags($input)
{  
    if(preg_match_all("/#[^\s\p{P}]+/", $input, $arr))
    {
        return implode(" ",$arr[0]);
    }
}

【讨论】:

    【解决方案2】:

    PeliCan,在 cmets 中,said

    只需使用正则表达式输出数组的 0 索引 $output = implode(" ",$arr[0]);

    这对我有用。

    【讨论】:

    • 这是一个答案 - cmets 中的答案不能被接受,并且 cmets 不是永久性的,因此将 am 答案从 cmets 复制到答案(带有归属地)是可以的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多