第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

php preg_match_all() 每個(gè)單詞 70 次 | API端點(diǎn)| 表現(xiàn)

php preg_match_all() 每個(gè)單詞 70 次 | API端點(diǎn)| 表現(xiàn)

PHP
守候你守候我 2023-10-21 16:27:00
我有一個(gè) 70 個(gè)單詞的列表。該列表用于檢查用戶(hù)輸入。用戶(hù)輸入是文本,平均有 30-100 個(gè)單詞。如果我的列表中的單詞之一出現(xiàn)在文本中,則用戶(hù)文本將被刪除,否則是允許的。在大多數(shù)情況下這是允許的,因此它將循環(huán)遍歷所有單詞。要檢查這些單詞是否在我使用的用戶(hù)文本中:$susWords = SuspiciousWord::where('checked', true)->get();$foundSusWord = false;foreach ($susWords as $word) {    if (preg_match_all("/" . $word->word . "/i", $user->flirttext)) {        $foundSusWord = true;         break;    }} 在正則表達(dá)式和性能方面,我不是專(zhuān)家。性能可能是這里的一個(gè)問(wèn)題嗎?
查看完整描述

3 回答

?
紫衣仙女

TA貢獻(xiàn)1839條經(jīng)驗(yàn) 獲得超15個(gè)贊

  1. 用于stripos($user->flirttext, $word->word) !== false更快地檢查,因?yàn)椴恍枰齽t表達(dá)式。

  2. 用于preg_match('/\b(' . implode('|', array_column($susWords, 'word')) . ')\b/', $user->flirttext)一次檢查所有單詞


查看完整回答
反對(duì) 回復(fù) 2023-10-21
?
呼啦一陣風(fēng)

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超6個(gè)贊

您可以使用strpos()

https://www.php.net/manual/en/function.strpos.php

比正則表達(dá)式高效得多。

查看完整回答
反對(duì) 回復(fù) 2023-10-21
?
翻閱古今

TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超5個(gè)贊

如果文本中只有標(biāo)點(diǎn)符號(hào),這種方法并不是很好。在這種情況下根本不應(yīng)該使用。留在這里作為參考


您還可以使用 array_intersect 來(lái)避免循環(huán):


$wordlist = explode(' ', $user->flirttext));

if (count(array_intersect($susWords, $wordlist)) > 0) {

? ? // found a bad word, do something

}


查看完整回答
反對(duì) 回復(fù) 2023-10-21
  • 3 回答
  • 0 關(guān)注
  • 165 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)