为多重关系关键字创建字符串

问题描述 投票:-1回答:1

我需要从字符串中为搜索词创建一个多关系关键字数组。例:字符串就像:带吸力的Armitage便携式无线移动电源

我需要类似的输出

1) Armitage
2) Portable
3) Wireless
4) Powerbank
5) Suction
6) Armitage Portable
7) Armitage Wireless
8) Armitage Powerbank
9) Armitage Suction
10) Portable Wireless
11) Portable Powerbank
12) Portable Suction
13) Wireless Powerbank
14) Wireless Suction
15) Powerbank Suction
16) Armitage Portable Wireless
17) Armitage Portable Powerbank
18) Armitage Portable Suction

Etc ...

php arrays string search split
1个回答
-1
投票

您可以尝试使用下面的示例:

explode(" ", $string)


0
投票
    <?php 
    // PHP program to print all  
    // permutations of a given string. 

    function bad_words()
        {
            return [
                "a", "a's", "able", "about", "above", "according", "accordingly", "across", "actually",
                "afterwards", "again", "against", "ain't", "all", "allow", "allows", "almost", "alone",
                "along", "already", "also", "although", "always", "am", "among", "amongst", "an", "and",
                "another", "any", "anybody", "anyhow", "anyone", "anything", "anyway", "anyways", "anywhere",
                "apart", "appear", "appreciate", "appropriate", "are", "aren't", "around", "as", "aside",
                "ask", "asking", "associated", "at", "available", "away", "awfully", "b", "be", "became",
                "because", "become", "becomes", "becoming", "been", "before", "beforehand", "behind",
                "being", "believe", "below", "beside", "besides", "best", "better", "between", "beyond",
                "both", "brief", "but", "by", "c", "c'mon", "c's", "came", "can", "can't", "cannot", "cant",
                "cause", "causes", "certain", "certainly", "changes", "clearly", "co", "com", "come", "comes",
                "concerning", "consequently", "consider", "considering", "contain", "containing", "contains",
                "corresponding", "could", "couldn't", "course", "currently", "d", "definitely", "described",
                "despite", "did", "didn't", "different", "do", "does", "doesn't", "doing", "don't", "done",
                "down", "downwards", "during", "e", "each", "edu", "eg", "eight", "either", "else",
                "elsewhere", "enough", "entirely", "especially", "et", "etc", "even", "ever", "every",
                "everybody", "everyone", "everything", "everywhere", "ex", "exactly", "example", "except",
                "f", "far", "few", "fifth", "first", "five", "followed", "following", "follows", "for",
                "former", "formerly", "forth", "four", "from", "further", "furthermore", "g", "get", "gets",
                "getting", "given", "gives", "go", "goes", "going", "gone", "got", "gotten", "greetings",
                "h", "had", "hadn't", "happens", "hardly", "has", "hasn't", "have", "haven't", "having",
                "he", "he's", "hello", "help", "hence", "her", "here", "here's", "hereafter", "hereby",
                "herein", "hereupon", "hers", "herself", "hi", "him", "himself", "his", "hither",
                "hopefully", "how", "howbeit", "however", "i", "i'd", "i'll", "i'm", "i've", "ie", "if",
                "ignored", "immediate", "in", "inasmuch", "inc", "indeed", "indicate", "indicated",
                "indicates", "inner", "insofar", "instead", "into", "inward", "is", "isn't", "it",
                "it'd", "it'll", "it's", "its", "itself", "j", "just", "k", "keep", "keeps", "kept",
                "know", "knows", "known", "l", "last", "lately", "later", "latter", "latterly", "least",
                "less", "lest", "let", "let's", "like", "liked", "likely", "little", "look", "looking",
                "looks", "ltd", "m", "mainly", "many", "may", "maybe", "me", "mean", "meanwhile", "merely",
                "might", "more", "moreover", "most", "mostly", "much", "must", "my", "myself", "n", "name",
                "namely", "nd", "near", "nearly", "necessary", "need", "needs", "neither", "never",
                "nevertheless", "new", "next", "nine", "no", "nobody", "non", "none", "noone", "nor",
                "normally", "not", "nothing", "novel", "now", "nowhere", "o", "obviously", "of", "off",
                "often", "oh", "ok", "okay", "old", "on", "once", "one", "ones", "only", "onto", "or",
                "other", "others", "otherwise", "ought", "our", "ours", "ourselves", "out", "outside",
                "over", "overall", "own", "p", "particular", "particularly", "per", "perhaps", "placed",
                "please", "plus", "possible", "presumably", "probably", "provides", "q", "que", "quite",
                "qv", "r", "rather", "rd", "re", "really", "reasonably", "regarding", "regardless",
                "regards", "relatively", "respectively", "right", "s", "said", "same", "saw", "say",
                "saying", "says", "second", "secondly", "see", "seeing", "seem", "seemed", "seeming",
                "seems", "seen", "self", "selves", "sensible", "sent", "serious", "seriously", "seven",
                "several", "shall", "she", "should", "shouldn't", "since", "six", "so", "some", "somebody",
                "somehow", "someone", "something", "sometime", "sometimes", "somewhat", "somewhere", "soon",
                "sorry", "specified", "specify", "specifying", "still", "sub", "such", "sup", "sure", "t",
                "t's", "take", "taken", "tell", "tends", "th", "than", "thank", "thanks", "thanx", "that",
                "that's", "thats", "the", "their", "theirs", "them", "themselves", "then", "thence", "there",
                "there's", "thereafter", "thereby", "therefore", "therein", "theres", "thereupon", "these",
                "they", "they'd", "they'll", "they're", "they've", "think", "third", "this", "thorough",
                "thoroughly", "those", "though", "three", "through", "throughout", "thru", "thus", "to",
                "together", "too", "took", "toward", "towards", "tried", "tries", "truly", "try", "trying",
                "twice", "two", "u", "un", "under", "unfortunately", "unless", "unlikely", "until", "unto",
                "up", "upon", "us", "use", "used", "useful", "uses", "using", "usually", "v", "value",
                "various", "very", "via", "viz", "vs", "w", "want", "wants", "was", "wasn't", "way", "we",
                "we'd", "we'll", "we're", "we've", "welcome", "well", "went", "were", "weren't", "what",
                "what's", "whatever", "when", "whence", "whenever", "where", "where's", "whereafter", "whereas",
                "whereby", "wherein", "whereupon", "wherever", "whether", "which", "while", "whither", "whWo",
                "who's", "whoever", "whole", "whom", "whose", "why", "will", "willing", "wish", "with",
                "within", "without", "won't", "wonder", "would", "would", "wouldn't", "x", "y", "yes", "yet",
                "you", "you'd", "you'll", "you're", "you've", "your", "yours", "yourself", "yourselves", "z", "ounce", "ounces", "ML", "ml"];

        }

    /** 
    * permutation function 
    * @param str string to  
    *  calculate permutation for 
    * @param l starting index 
    * @param r end index 
    */
    $tttt = array();
    function permute($str, $l, $r) 
    { 
        global $tttt;
        if ($l == $r) 
            $tttt[] =  implode(" ",$str); 
        else
        { 
            for ($i = $l; $i <= $r; $i++) 
            { 
                $str = swap($str, $l, $i); 
                permute($str, $l + 1, $r); 
                $str = swap($str, $l, $i); 
            } 
        } 
    } 

    /** 
    * Swap Characters at position 
    * @param a string value 
    * @param i position 1 
    * @param j position 2 
    * @return swapped string 
    */
    function swap($a, $i, $j) 
    { 
        $temp; 
        $charArray = $a; 
        $temp = $charArray[$i] ; 
        $charArray[$i] = $charArray[$j]; 
        $charArray[$j] = $temp; 
        return $charArray; 
    } 

    // Driver Code 
    $str = "Fitzgerald Powerbank with Wireless Charger"; 
    $aStopWords = bad_words();
    $str = preg_replace('/\b(' . implode('|', $aStopWords) . ')\b/i', '', $str);
    $str1 = explode(" ",$str); 

    $n = count($str1); 
    $aaaa = permute($str1, 0, $n - 1); 
    $tttt = array_unique($tttt);
    echo "<pre>"; print_r($tttt);exit;

    // This code is contributed by mits. 
    ?> 
© www.soinside.com 2019 - 2024. All rights reserved.