如何从字符串PHP的开头删除⭕️和♛表情符号?
Posted
技术标签:
【中文标题】如何从字符串PHP的开头删除⭕️和♛表情符号?【英文标题】:How to remove ⭕️ and ♛ emoji from the beginning of the string 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()
:-)
【参考方案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 抱歉冒犯了,这不是我的本意。不过有点苛刻,因为我刚刚注意到我现在有能力标记重复的帖子。 没有冒犯。但是你所说的“严厉”是什么意思?顺便说一句,这不是我的反对票。以上是关于如何从字符串PHP的开头删除⭕️和♛表情符号?的主要内容,如果未能解决你的问题,请参考以下文章