PHP preg_replace正在删除表情符号字符,我想保留它们

时间:2015-12-16 11:33:03

标签: php string preg-replace emoji

所以我有一个简单的功能来转换主题标签,提及&链接到html for(int j=doc.getNumberOfPages()-1; j >= 0; j--){ if(i!=j) { doc.removePage(j); } } 标签,我将其用于Twitter和Instagram Feed。

这是功能:

<a>

这很好用,但它似乎从字符串中删除了表情符号字符。任何人都可以为我阐明这一点吗?

示例:

原件: Original Tweet

转换: Converted Tweet

1 个答案:

答案 0 :(得分:1)

应该使用u(PCRE_UTF8)修饰符来处理unicode字符(表情符号) 例子

$html_text = preg_replace("/([\w]+\:\/\/[\w-?&;#~=\.\/\@]+[\w\/])/u", "<a target=\"_blank\" href=\"$1\">$1</a>", $string);

使用u修饰符时,请阅读参考资料以了解一些注意事项 http://php.net/manual/en/reference.pcre.pattern.modifiers.php