dongnao2582 2017-10-02 11:55
浏览 41
已采纳

如果单词有这个字母我怎么能删除单词

I must delete words if in word have letters "ц", "щ", "ы", "ь". I create this functions for need me but it works slow.

public function CheckToInsert($text)
{

 $xarfho = array("ц", "щ", "ы", "ь","қ","ӣ","ғ","ҷ","ҳ","ӯ","Қ","Ӣ","Ғ","Ҷ","Ҳ","Ӯ");

 foreach ($xarfho as $xarf) 
 {
     if (stripos($text,$xarf) !== false) 
     {
         return true;
     }
 }



 return false;

}

public function UnsetUncorrectWords($words)
{
    foreach ($words as $key => $value) 
    {
        if($this->CheckToInsert($value) == false) unset($words[$key]);
        if(strlen($value) < 3) unset($words[$key]);
    }

    return $words;
}
  • 写回答

2条回答 默认 最新

  • dongyuchen9276 2017-10-02 12:22
    关注

    You may use preg_grep to get either the array items that contain a regex match, or those that do not contain a match with a PREG_GREP_INVERT flag.

    So, to get all the items that have no letters of your choice, use

    $xarfho = array("ц", "щ", "ы", "ь","қ","ӣ","ғ","ҷ","ҳ","ӯ","Қ","Ӣ","Ғ","Ҷ","Ҳ","Ӯ");
    $wrds = array('Еыфвҷ','цӣвееп','аааа');
    $pat = '/[' . implode("", $xarfho) . ']/u';
    $res = preg_grep($pat, $wrds, PREG_GREP_INVERT);
    // => Array (  [2] => аааа )
    

    See the PHP demo

    To get the items with the "ц", "щ", "ы", "ь","қ","ӣ","ғ","ҷ","ҳ","ӯ","Қ","Ӣ","Ғ","Ҷ","Ҳ","Ӯ" letters, use

    $xarfho = array("ц", "щ", "ы", "ь","қ","ӣ","ғ","ҷ","ҳ","ӯ","Қ","Ӣ","Ғ","Ҷ","Ҳ","Ӯ");
    $wrds = array('Еыфвҷ','цӣвееп','аааа');
    $pat = '/[' . implode("", $xarfho) . ']/u';
    $res = preg_grep($pat, $wrds);
    // => Array ( [0] => Еыфвҷ [1] => цӣвееп )
    

    See another PHP demo.

    The regexps will look like /[цщы]/u where [...] is a character class that matches any char (or range of chars) defined in the pattern and the /u modifier is required since your pattern contains characters other than ASCII and the UNICODE modifier will make the regex engine correctly parse both the pattern and input strings.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 一直显示正在等待HID—ISP