亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何從laravel中的字符串中提取所有#Tags和用戶標簽?

如何從laravel中的字符串中提取所有#Tags和用戶標簽?

PHP
拉莫斯之舞 2022-06-17 10:10:42
我有一個輸入字段,其中用戶名標簽如@abd123,@abc1和一些主題標簽如#CurrentNews,#NewLife在同一輸入字段上。在這里,我的工作是捕獲所有以 @ 和 # 開頭的標記名稱,并放在單獨的數組中以查看它們的數據庫表。所以這對我來說非常復雜。所以請告訴我最簡單的解決方案。這是在我為此使用explode()方法之前。但這不是一個好主意。我從請求中得到的價值$allTags =  @abc1,@abvc321, #NewAge , #CurrentNews它應該是在處理之后。$userTag = ["@abc1","@abvc321"];$topicTag = ["#NewAge ","#CurrentNews"];
查看完整描述

2 回答

?
寶慕林4294392

TA貢獻2021條經驗 獲得超8個贊

調整從PHP 中的字符串中提取 Twitter 主題標簽的答案以捕獲用戶標簽,這在同一個正則表達式中使用兩者來生成 2 個列表。過濾器 ( array_filter()) 用于整理數組(當一個包含用戶標簽時,另一個將為空)...


$string = '@abc1 xxx,@abvc321, #NewAge , #CurrentNews';

preg_match_all("/(#\\w+)|(@\\w+)/", $string, $matches);

$topicTag = array_filter($matches[1]);

$userTag = array_filter($matches[2]);


print_r($userTag);

print_r($topicTag);

給...


Array

(

    [0] => @abc1

    [1] => @abvc321

)

Array

(

    [2] => #NewAge

    [3] => #CurrentNews

)


查看完整回答
反對 回復 2022-06-17
?
慕田峪4524236

TA貢獻1875條經驗 獲得超5個贊

親愛的Nigel Ren,我對您的解決方案幾乎沒有改動。因為$userTag是對象格式。所以它的數據類型會改變。這不會影響foreach。但我嘗試將兩者都制成數組格式。


    $string = $req->user_tags;

    preg_match_all("/(#\\w+)|(@\\w+)/", $string, $matches);

    $topicTag = array_values(array_filter($matches[1]));

    $userTag = array_values(array_filter($matches[2]));

在此之后我的結果


 [

   [

     "@pankaj",

     "@pawan"

   ],

 [

   "#tag",

   "#tag2",

   "#tage3"

 ]

]


查看完整回答
反對 回復 2022-06-17
  • 2 回答
  • 0 關注
  • 128 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號