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

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

使用正則表達式(PHP)從字符串中提取特定數據

使用正則表達式(PHP)從字符串中提取特定數據

PHP
ABOUTYOU 2022-07-22 16:45:07
我的目標是檢查消息是否有表情符號,如果是,我將轉換它們。我很難找出字符串中有多少個表情符號。例子 :$string = ":+1::+1::+1:"; //can be any string that has :something: between ::這里的目標是獲得 :+1: (所有這些),但我嘗試了兩種模式,但我一直只得到 1 個匹配項。preg_match_all('/:(.*?):/', $string, $emojis, PREG_SET_ORDER); // $emojis is declared as $emojis='' at the beginning.preg_match_all('/:(\S+):/', $string, $emojis, PREG_SET_ORDER);獲得比賽后的其余代碼我正在這樣做: if (isset($emojis[0]))    {        $stringMap = file_get_contents("/api/common/emoji-map.json");        $jsonMap = json_decode($stringMap, true);        foreach ($emojis as $key => $value) {            $emojiColon = $value[0];            $emoji = key_exists($emojiColon, $jsonMap) ? $jsonMap[$emojiColon] : '';            $newBody = str_replace($emojiColon, $emoji, $newBody);        }   }我將不勝感激任何幫助或建議,謝謝。
查看完整描述

1 回答

?
素胚勾勒不出你

TA貢獻1827條經驗 獲得超9個贊

我稍微更新了你的表情:


preg_match_all('/\:(.+?)(\:)/', $string, $emojis, PREG_SET_ORDER);

echo var_dump($emojis);    

現在:已轉義,否則可以將其視為特殊字符。

替換了*by +,這樣你就不會連續匹配兩個::,但至少需要一個字符。


查看完整回答
反對 回復 2022-07-22
  • 1 回答
  • 0 關注
  • 286 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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