php過濾表情符號(php過濾表情符號代碼)

本文目錄一覽:

_’>請問php 中什麼函數可以過濾掉這個笑臉(>_

//把 (_)過濾成空就行了。

?php

echo str_replace(“(_)”,””,”Hello (_)!”);

?

求php過濾ios的Emoji表情的方法,如果字元串中包含Emoji表情就刪除。

網上已經有開源的了! 你參考下

iOS 5.0之前,蘋果都是採用3個位元組來承接 emoji 表情,Java 的普通 char 可以支持顯示。但 iOS 5.0 之後, 蘋果升級了系統自帶的 emoji 表情輸入法,用的 Unicode 6 標準來統一,是採用4個 bytes 來承接一個 emoji 表情。如果不做處理的話,這種表情直接存儲到 mysql5.5 以下的資料庫是會報錯的。就像這兩個表情一樣:口口, 在 Windows 8 以下估計都不支持顯示,可能會顯示成框框,可能壓根就是空白, 你可以在 Mac 中使用Safari 瀏覽器中,就可以看到。經過測試,在 Mac 就算用 Chrome 瀏覽器(Version 25.0.1364.172)也是不行的。

這種數據在 Mysql 5.5 之前,UTF-8 支持1-3個位元組的編碼,從 Mysql5.5 開始後,可以支持4個位元組的 UTF 編碼,但要特殊標記。修改 Mysql 相應存儲欄位為 utf8mb4 。修改語句如下:

1 ALTER TABLE table_name

2 MODIFY COLUMN content varchar(500) CHARACTER

3 SET utf8mb4 COLLATE utf8mb4_unicode_ci

4 DEFAULT NULL COMMENT ‘content of message’;

在某種業務情景下,我們可以選擇過濾掉這種「非法」的字元。我採用的方式是,在字元上面做操作,下面是Java示例代碼,核心的代碼附上,應該是 無法直接下載就能夠編譯,你得小小的做一些微調,沒有額外的依賴:

01 public class EmojiFilter {

02

03 /**

04 * 檢測是否有emoji字元

05 * @param source

06 * @return 一旦含有就拋出

07 */

08 public static boolean containsEmoji(String source) {

09 if (StringUtils.isBlank(source)) {

10 return false;

11 }

12

13 int len = source.length();

14

15 for (int i = 0; i len; i++) {

16 char codePoint = source.charAt(i);

17

18 if (isEmojiCharacter(codePoint)) {

19 //do nothing,判斷到了這裡表明,確認有表情字元

20 return true;

21 }

22 }

23

24 return false;

25 }

26

27 private static boolean isEmojiCharacter(char codePoint) {

28 return (codePoint == 0x0) ||

29 (codePoint == 0x9) ||

30 (codePoint == 0xA) ||

31 (codePoint == 0xD) ||

32 ((codePoint = 0x20) (codePoint = 0xD7FF)) ||

33 ((codePoint = 0xE000) (codePoint = 0xFFFD)) ||

34 ((codePoint = 0x10000) (codePoint = 0x10FFFF));

35 }

36

37 /**

38 * 過濾emoji 或者 其他非文字類型的字元

39 * @param source

40 * @return

41 */

42 public static String filterEmoji(String source) {

43

44 if (!containsEmoji(source)) {

45 return source;//如果不包含,直接返回

46 }

47 //到這裡鐵定包含

48 StringBuilder buf = null;

49

50 int len = source.length();

51

52 for (int i = 0; i len; i++) {

53 char codePoint = source.charAt(i);

54

55 if (isEmojiCharacter(codePoint)) {

56 if (buf == null) {

57 buf = new StringBuilder(source.length());

58 }

59

60 buf.append(codePoint);

61 } else {

62 }

63 }

64

65 if (buf == null) {

66 return source;//如果沒有找到 emoji表情,則返回源字元串

67 } else {

68 if (buf.length() == len) {//這裡的意義在於儘可能少的toString,因為會重新生成字元串

69 buf = null;

70 return source;

71 } else {

72 return buf.toString();

73 }

74 }

75

76 }

77 }

還有優化的空間,但是已經能夠滿足大多數情況的需求,附上單元測試(JUnit4):

01 public class EmojiFilterTest {

02

03

04 /**

05 * 測試emoji表情

06 */

07 @Test

08 public void fileterEmoji() {

09 String s = “body口口213這是一個有各種內容的消息, Hia Hia Hia !!!! xxxx@@@…*)!” +

10 “(@*$@(!)@*)!$!)@^%@(!. 口口口], “;

11 String c = Utils.filterEmoji(s);

12 assertFalse(s.equals(c));

13 String expected = “body213這是一個有各種內容的消息, Hia Hia Hia !!!! xxxx@@@…*)” +

14 “!(@*$@(!)@*)!$!)@^%@(!. ], “;

15 assertEquals(expected, c);

16 // assertSame(c, expected);

17 assertSame(expected, “body213這是一個有各種內容的消息, Hia Hia Hia !!!! xxxx@@@…*)” +

18 “!(@*$@(!)@*)!$!)@^%@(!. ], “);

19 assertSame(c, Utils.filterEmoji(c));

20 }

21

22 }

PHP如何過濾★等特殊符號

我的程序是這樣編寫的,相信你一看就懂:

if(preg_match(“/[ ‘.,:;*?~`!@#$%^+=)({}]|\]|\[|\/|\\\|\”|\|/”,$user)){

echo ‘不要在名字裡面整些特殊符號,請只使用字母、數字和漢字,當然要你的瀏覽器要選簡體中文GB2312喲,千萬不要選繁體、中文HZ等。返回修改後,再來,我等你喲!’;

exit();

}

php怎樣過濾掉特殊字元啊 ☺

過濾掉特殊字元,可以考慮使用字元串替換的方法,在php中替換字元效率最高也是最簡單字元替換函數str_replace函數。

使用方法:str_replace(find,replace,string,count)

參數說明:

  find 必需。規定要查找的值。 

  replace 必需。規定替換 find 中的值的值。

  string 必需。規定被搜索的字元串。

 count 可選。一個變數,對替換數進行計數。

實例:

str_replace(“iwind”, “kiki”, “i love iwind, iwind said”);

將輸出 “i love kiki, kiki said”

當然你也可以採取正則替換的方法,該函數是preg_replace

PHP字元串中特殊符號的過濾方法介紹

本篇文章主要是對PHP字元串中特殊符號的過濾方法進行了詳細的介紹,需要的朋友可以過來參考下,希望對大家有所幫助

有時候我們會遇到過濾字元串中特殊字元的問題,本文提供了一個處理特殊字元串的方法,可能有遺漏,如果讀者發現了可以

代碼如下:

function

strFilter($str){

$str

=

str_replace(‘`’,

”,

$str);

$str

=

str_replace(‘·’,

”,

$str);

$str

=

str_replace(‘~’,

”,

$str);

$str

=

str_replace(‘!’,

”,

$str);

$str

=

str_replace(‘!’,

”,

$str);

$str

=

str_replace(‘@’,

”,

$str);

$str

=

str_replace(‘#’,

”,

$str);

$str

=

str_replace(‘$’,

”,

$str);

$str

=

str_replace(‘¥’,

”,

$str);

$str

=

str_replace(‘%’,

”,

$str);

$str

=

str_replace(‘^’,

”,

$str);

$str

=

str_replace(‘……’,

”,

$str);

$str

=

str_replace(”,

”,

$str);

$str

=

str_replace(‘*’,

”,

$str);

$str

=

str_replace(‘(‘,

”,

$str);

$str

=

str_replace(‘)’,

”,

$str);

$str

=

str_replace(‘(’,

”,

$str);

$str

=

str_replace(‘)’,

”,

$str);

$str

=

str_replace(‘-‘,

”,

$str);

$str

=

str_replace(‘_’,

”,

$str);

$str

=

str_replace(‘——’,

”,

$str);

$str

=

str_replace(‘+’,

”,

$str);

$str

=

str_replace(‘=’,

”,

$str);

$str

=

str_replace(‘|’,

”,

$str);

$str

=

str_replace(”,

”,

$str);

$str

=

str_replace(‘[‘,

”,

$str);

$str

=

str_replace(‘]’,

”,

$str);

$str

=

str_replace(‘【’,

”,

$str);

$str

=

str_replace(‘】’,

”,

$str);

$str

=

str_replace(‘{‘,

”,

$str);

$str

=

str_replace(‘}’,

”,

$str);

$str

=

str_replace(‘;’,

”,

$str);

$str

=

str_replace(‘;’,

”,

$str);

$str

=

str_replace(‘:’,

”,

$str);

$str

=

str_replace(‘:’,

”,

$str);

$str

=

str_replace(”’,

”,

$str);

$str

=

str_replace(‘”‘,

”,

$str);

$str

=

str_replace(‘「’,

”,

$str);

$str

=

str_replace(‘」’,

”,

$str);

$str

=

str_replace(‘,’,

”,

$str);

$str

=

str_replace(‘,’,

”,

$str);

$str

=

str_replace(”,

”,

$str);

$str

=

str_replace(”,

”,

$str);

$str

=

str_replace(‘《’,

”,

$str);

$str

=

str_replace(‘》’,

”,

$str);

$str

=

str_replace(‘.’,

”,

$str);

$str

=

str_replace(‘。’,

”,

$str);

$str

=

str_replace(‘/’,

”,

$str);

$str

=

str_replace(‘、’,

”,

$str);

$str

=

str_replace(‘?’,

”,

$str);

$str

=

str_replace(‘?’,

”,

$str);

return

trim($str);

}

原創文章,作者:ZDLCS,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/331305.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
ZDLCS的頭像ZDLCS
上一篇 2025-01-16 15:46
下一篇 2025-01-16 15:46

相關推薦

  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Python字元串寬度不限制怎麼打代碼

    本文將為大家詳細介紹Python字元串寬度不限制時如何打代碼的幾個方面。 一、保持代碼風格的統一 在Python字元串寬度不限制的情況下,我們可以寫出很長很長的一行代碼。但是,為了…

    編程 2025-04-29
  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • Python基礎代碼用法介紹

    本文將從多個方面對Python基礎代碼進行解析和詳細闡述,力求讓讀者深刻理解Python基礎代碼。通過本文的學習,相信大家對Python的學習和應用會更加輕鬆和高效。 一、變數和數…

    編程 2025-04-29
  • 倉庫管理系統代碼設計Python

    這篇文章將詳細探討如何設計一個基於Python的倉庫管理系統。 一、基本需求 在著手設計之前,我們首先需要確定倉庫管理系統的基本需求。 我們可以將需求分為以下幾個方面: 1、庫存管…

    編程 2025-04-29
  • Python滿天星代碼:讓編程變得更加簡單

    本文將從多個方面詳細闡述Python滿天星代碼,為大家介紹它的優點以及如何在編程中使用。無論是剛剛接觸編程還是資深程序員,都能從中獲得一定的收穫。 一、簡介 Python滿天星代碼…

    編程 2025-04-29
  • 寫代碼新手教程

    本文將從語言選擇、學習方法、編碼規範以及常見問題解答等多個方面,為編程新手提供實用、簡明的教程。 一、語言選擇 作為編程新手,選擇一門編程語言是很關鍵的一步。以下是幾個有代表性的編…

    編程 2025-04-29
  • Python實現簡易心形代碼

    在這個文章中,我們將會介紹如何用Python語言編寫一個非常簡單的代碼來生成一個心形圖案。我們將會從安裝Python開始介紹,逐步深入了解如何實現這一任務。 一、安裝Python …

    編程 2025-04-29
  • 怎麼寫不影響Python運行的長段代碼

    在Python編程的過程中,我們不可避免地需要編寫一些長段代碼,包括函數、類、複雜的控制語句等等。在編寫這些代碼時,我們需要考慮代碼可讀性、易用性以及對Python運行性能的影響。…

    編程 2025-04-29
  • Python愛心代碼動態

    本文將從多個方面詳細闡述Python愛心代碼動態,包括實現基本原理、應用場景、代碼示例等。 一、實現基本原理 Python愛心代碼動態使用turtle模塊實現。在繪製一個心形的基礎…

    編程 2025-04-29

發表回復

登錄後才能評論