【问题标题】:How to remove ⭕️ and ♛ emoji from the beginning of the string PHP?如何从字符串PHP的开头删除⭕️和♛表情符号?
【发布时间】:2018-04-11 19:15:55
【问题描述】:

如何去除PHP字符串开头的⭕️和♛表情符号? 请注意,我只想删除⭕️和♛表情符号,而不是所有表情符号。

例如:-

如果字符串是⭕️ ABC 123 XYZ 789 ???? 然后从字符串的开头删除表情符号♛后,它应该看起来是ABC 123 XYZ 789 ????

我尝试了preg_replace("⭕️", "", $string) and str_replace("⭕️", "", $string),但根本不起作用。

【问题讨论】:

  • 那么,您尝试了哪些方法,哪些方法不起作用?
  • @WiktorStribiżew 删除字符串与移动一组字符不同,所以我认为重复项不适合。
  • 请参阅链接问题中的$str = preg_replace('/^' . preg_quote($prefix, '/') . '/', '', $str);$prefix(⭕️|♛)。可能需要u 修饰符。
  • @WiktorStribiżew 或者你只使用trim() :-)

标签: php regex emoji


【解决方案1】:

这里不需要正则表达式,只需使用ltrim()

$str = '⭕️ and ♛ emoji from t';
var_dump(ltrim($str, '⭕️♛'));

结果:

string(21)" 和 t 中的♛ emoji"

一个example

【讨论】:

  • 我确实因为回答一个低质量的问题而被否决了,但是删除一个正确的 - 迄今为止最简单的 - 没有出现在副本中的答案只是愚蠢的。
  • 那肯定不是我的
  • @FunkFortyNiner 从不怀疑 :-)
【解决方案2】:

看起来已经在这里回答了: PHP : writing a simple removeEmoji function

因为它只是这两个表情符号,您只需搜索这两个 unicode(U+265B 和 U+2B55),只需对这些字符进行替换,而不是整个正则表达式。

【讨论】:

  • 您不应该将其标记为可能的重复项吗?你在抄袭现有的问答。
  • @WiktorStribiżew 这样他们就有剽窃的权利?快点;我想你应该知道这件事。你在这里已经够久了。编辑:你删除了我正在回复的评论。
  • @FunkFortyNiner 抱歉冒犯了,这不是我的本意。不过有点苛刻,因为我刚刚注意到我现在有能力标记重复的帖子。
  • 没有冒犯。但是你所说的“严厉”是什么意思?顺便说一句,这不是我的反对票。
猜你喜欢
  • 2015-03-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多