2017-10-12 18 views
1

Je veux obtenir tous les mots uniques à partir de mon long texte. Vous pouvez voir mon exemple de code ici, mais je thik ce qu'il ne la performance:Comment puis-je ajouter des mots uniques à un tableau à partir d'un simple texte long (grand) avec un temps de perte minimum?

$text = $_REQUEST['text']; 

$text = mb_strtolower($text); 

$text = $this->TimesNewRoman($text); 

$text = $this->Tajikan($text); 

$text = $this->DSRL($text); 

$text = preg_replace("/[^а-яёқӣғҷҳӯў ]/iu", ' ', $text); 

$text = array_filter(array_unique(explode(" ", $text))); 

$uncorrect_words = $this->WWOSTL($text); 

$correct_words = $this->WWSTL($text); 

/* Used methods(functions) from my class here */ 

public function TimesNewRoman($text) 
{ 
    // Correcting Times New Roman Tj Symbols 
    $search = array("ѓ","ї","љ","њ","ќ","ў"); 
    $replace = array("ғ","ӣ","ҷ","ҳ","қ","ӯ"); 

    $result = str_replace($search, $replace, $text); 

    return $result; 
} 

public function Tajikan($text) 
{ 
    // Correcting Tajikan Symbols 
    $search = array("щ","ц","ж","ь","ы","="); 
    $replace = array("ғ","ӣ","ҷ","ҳ","қ","ӯ"); 

    $result = str_replace($search, $replace, $text); 

    return $result; 
} 

public function DSRL($text) // DELETE SPECIAL RUSSIAN WORDS WITH LETTERS ("ц", "щ", "ы", "ь") 
{ 
    $text = mb_strtolower($text); 

    $letters = array("ц", "щ", "ы", "ь"); 

    $pattern = '/\p{L}*[' . implode("", $letters) . ']\p{L}*/u'; 

    $text = preg_replace($pattern, '', $text); 

    return $text; 
} 

public function WWSTL($array_words) // GET Words With Special Tajik Letters ("қ", "ҳ", "ҷ", "ӯ", "ғ", "ӣ", "ў") 
{ 
    $letters = array("қ", "ҳ", "ҷ", "ӯ", "ғ", "ӣ", "ў"); 

    $pattern = '/[' . implode("", $letters) . ']/u'; 

    $result = preg_grep($pattern, $array_words); 

    return $result; 
} 

public function WWOSTL($array_words) // GET Words Without Special Tajik Letters ("қ", "ҳ", "ҷ", "ӯ", "ғ", "ӣ", "ў") 
{ 
    $letters = array("қ", "ҳ", "ҷ", "ӯ", "ғ", "ӣ", "ў"); 

    $pattern = '/[' . implode("", $letters) . ']/u'; 

    $result = preg_grep($pattern, $array_words, PREG_GREP_INVERT); 

    return $result; 
} 

S'il vous plaît dites-nous votre opinion sur la réduction, l'optimisation et l'accélération du processus et le code. Peut-être que là où ce sont des codes superflus, je peux faire quelque chose de mal. Il convient de noter que mon texte sera très volumineux et que j'ai besoin d'optimiser mon code pour travailler avec une telle quantité de texte. Aidez si vous avez l'une de vos options pour optimiser et accélérer le processus de traitement de texte. Merci d'avance à tous.

Exemple mon petit texte:

$text = "Русия ва вазъи сиёсию иқтисодӣ ва фарҳангии Осиёи Миёна, 
бахусус аморати Бухоро мегардад. Маорифпарвар яке аз 
роҳҳои дигаргунсозии ҷомеаро дар маърифатнокшавии 
амиру ҳокимон, нест кардани зулм ва ислоҳоти ислом 
медонист. Ислоҳоте, ки ў пешниҳод мекард, хислати 
гуманистӣ – инсонпарварӣ дошт. Масъалаи инсон дар 
маркази фалсафаи иҷтимоию сиёсии ў меистод ва ин 
таълимоти ў нисбат ба анъанаҳои классикӣ бештар хислати 
прогрессивию навин доштанд. Андешаҳои маорифпарварии 
мутафаккир дар асарҳояш «Наводир –ул-вақоеъ» ва дар 
«Васоёти фарзандон ва баёни ҳақиқати касбҳову пешаҳо» 
баён шудаанд. Дар ин асарҳо А. Дониш роҳҳои азнавсозии 
ҷамъиятро ба воситаи идеалҳои озодӣ , баробарӣ , бародарӣ , 
муттаҳидӣ ва идеалҳое, ки ҳанўз дар асрҳои ХVII- ХVIII дар 
Аврупо пайдо шуда буданд (ҳимояи адолати иҷтимоӣ , рушди 
илму маориф, қадру қимати инсонӣ) тарғиб менамояд. 
3. Анъанаҳои фалсафаи рус 
Давраи нисбатан озоди анъанаи фалсафаи рус аз 
ташкилёбии Донишгоҳи Москав (1755) оғоз меёбад. 
Профессори аввалини факултаи фалсафаи ин донишгоҳ Н.И. 
Поповский аз анъанаи курси фалсафии лотинӣ ба забони 
русии фалсафа гузаштанро даъват намуд. Вале сарфи назар 
аз ин ташаббус афкори фалсафӣ аз фишори сензураи 
давлатӣ -калисоӣ озод набуд. 
Табиати эҳёгароии фарҳангу фалсафаи рус дар эҷодиёти 
мутафаккирон М.В.Ломоносов ва А.Н.Радишев бо низоми 
нисбатан озоду равшан инъикос меёбад. Онҳо ба андозае 
синтези фарҳанги атиқӣ ва насрониро ба даст оварда бештар 
майли маорифпарварӣ доштанд. 
Ломоносов ҳамчун табиатшиноси барҷаста (асосгузори 
қонуни нигаҳдории масса ва энергия)- поягузори анъанаи 
материалистӣ дар фалсафаи рус, Радишев аввалин шуда дар 
ҷаҳонбинии рус масъалаи инсонро ҳамчун арзиши муҳим 
муайян намуд ва ба анъанаи маорифпарварии инқилобӣ ибтидо 
гузошт. Чунин тарзи гузориши масъала дар ақидаҳои 
45 
декабристон ва демократҳои инқилобӣ (Белинский, Герсен, 
Чернишевский ва диг.) ифода ёфт. Хусусияти фалсафаи рус 
робитаи ақоидии васеъ ҳам бо Ғарбу ва ҳам бо Шарқ мебошад. 
Ҳамчун натиҷаи бўҳрони материализми механикӣ ва 
метафизикӣ дар солҳои 30-юми асри ХIХ дар фалсафаи 
Русия тағйири тамоил ба диалектикаи идеалистӣ ба амал 
меояд ва ингуна тамоил ба гузариши ақидаҳои 
натурфалсафаи мутафаккирони рус ба мавқеи идеализм ва 
дин таъсир мерасонад (Чаадаев). 
Ҷустуҷўи хусусияти инкишофи иҷтимоии Русия дар 
маркази фалсафаи рус дарки вазифаҳои миллиро мегузорад. 
Инқилобчиён-демократҳои рус – Белинский, Герсен, 
Чернишевский консепсияи сотсиализми деҳқонӣ , 
общинагиро пешниҳод намуданд. 
Файласуфони динӣ – славянофилҳо (Киреевский, 
Хомяков, Данилевский)- роҳи славянии инкишофи ҷомеаро 
аз диди таълимоти дини насронӣ азнавсозии навъи олмонии 
тафаккури фалсафиро тарғиб менамуданд. Дар ин ҷараён 
фалсафаи В.С.Соловьев низоми хосро ташкил мекард. 
Чунончи, аз ҷониби ў таҳлил намудани ягонагии олам, инсон 
ва соҳаи ғайриҳастӣ (Худо); назарияи маърифатии ў – бо 
роҳи интуитивӣ , инъикоси рамзӣ - символикӣ ба ҳақиқат 
ноил гардидан. 
В.С.Соловьев мақоми хосро дар ҷараёни славянофилҳо 
ишғол мекунад. Фалсафаи аз ҳама пурарзиш ба ақидаи 
В.С.Соловьев фалсафаи тасаввуф мебошад, ки на бо тарғиби 
берунии ҳодисаҳо, балки бо тартиби ботинии мавҷудот ва 
ҳаёти онҳо машғул аст ва ҳаёти ин мавҷудотро муносибати 
онҳо ба ҳастии нахустибтидо муайян менамояд. 
Моҳияти империяи Русияро В.Соловьев дар умумияти 
аз миллат волотари Шарқу Ғарб мебинад. Русия, - мегўяд ў, - 
натанҳо халқи рус, балки «оилаи халқҳо», ки на бо зўрӣ , 
ихтиёрӣ муттаҳид шудаанд. Мутафаккир умуман муқобили 
ҳамагуна ғуломӣ ва системаи ҷомеаи ба ғуломӣ асос ёфта 
46 
буд. Тафаккури асили фалсафа ба ақидаи ў ҷустуҷўи 
мунтазами ҳақиқати боэтимод мебошад. 
Фалсафаи рус дар ин давра бо фарҳанги ватанашон, ба 
хусус ба адабиёти он робитаи зич дошт. 
Фалсафаи рус, ки дар ду даҳсолаи аввали асри ХХ таҳти 
таъсири фалсафаи марксизм қарор надошт, мебоист роҳи 
ояндаашро интихоб намояд. Аз Ғарб ба Русия неокантчигӣ , 
неогогелчигӣ , фалсафаи ҳаёт таъсир доштанд. Вале 
файласуфони рус мекушиданд, то ҷабҳаи инсонгароии ин 
ҷараёнҳои фалсафиро инкишоф диҳанд. 
Равияи дигаре, ки дар таҳти таъсири табиатшиносӣ 
ташаккул ёфта аст, космизми рус мебошад (Н.Ф.Федоров, 
Ф.С.Соловьев, Н.А.Умов, К.Э.Циолковский , 
В.И.Вернадский ва дигарон). Масъалаи ягонагии инсону 
коинот ва табиати коинотии инсон мавриди таҳлили ин 
ҷараён қарор мегирад. 
4. Фалсафа дар СССР 
Тафаккури фалсафӣ дар СССР бо хусусиятҳои миллӣ - 
минтақавии давлати сермиллат роҳи басо мураккабу 
зиддиятнокро дар давоми 70 соли сохти Шўравӣ тай 
карда аст. Бурду бохтҳои фалсафа дар ин давра бо вазифаҳои 
табаддулотҳои инқилобӣ дар мамлакат, идеологияи 
ҳукмрони коммунистӣ , мақоми роҳбарикунандагии ҳизби 
коммунистӣ дар ҳамаи соҳаҳои иқтисодию иҷтимоӣ ва 
фарҳангию сиёсӣ робитаи зич дошт. Дигар ҷиҳати инкишофи 
фалсафа самти аз байн рафтани гуфтугўи файласуфони 
марксистӣ бо намояндагони дигар ҷараёнҳои фалсафӣ буд. 
Мубоҳисаҳои (дискуссияҳои) солҳои 20-ум, 30-юм, 40- 
ум ба раванди рушди фалсафа дигаргуниҳо меандохтанд ва 
баъзан файласуфонро ба ҷараёнҳои мухталиф ҷудо 
мекарданд. 
Муноқишаҳои аввалин (солҳои 20-ум) дар доираи 
масъалаи мақоми фалсафаи марксистӣ , муносибати ў ба 
илмҳои табиатшиносӣ буд. 
47 
Тибқи ақидаҳои файласуфони ба ном «механистон» 
фалсафа чун илми мустақил шуда наметавонад, ў бояд бо 
хулосаҳои илми табиатшиносӣ якҷоя бошад. Барои 
«диалектикҳо» фалсафаи марксистӣ дорои мазмуни хос ва 
мустақил буда, вазифаи методологию маърифатиро иҷро 
менамояд. 
Хулосаи мубоҳисаҳои солҳои 30-юм сиёсигардонии 
пурраи назария ва принсипи ҳизбиятии илми фалсафа ва 
тамоми соҳаи ҷамъиятшиносӣ гардид. Ҳамзамон барномаи аз 
ҷониби Ленин муайян кардашудаи тадқиқотҳои таърихи 
фалсафа ба роҳ монда шуда буд. Файласуфони шўравӣ дар 
ин давра диққати ҷиддӣ ба тадқиқот ва нашри таърихи 
материализм, таърихи диалектика, инкишофи сотсиализми 
хаёлӣ равона карда буданд. Тарҷумаи асарҳои файласуфони 
материалисти фаронсавӣ , англисӣ , олмонӣ ва бисёр дигар 
асарҳои таърихӣ нашр мешаванд. 
Дискуссияи соли 1947 ба муҳокимаи асари таълимии 
Г.Ф.Александров «Таърихи фалсафаи Аврупои Ғарбӣ » 
бахшида шуда буд. Аз муҳокимаҳо хулоса бармеояд, ки ин 
асар ғайримарксистӣ буда нақши инқилобии марксизмро дар 
фалсафа аз эътибор дур карда аст. 
Танқиди шахсиятпарастии Сталин дар съезди ХХ-уми 
ҳизби коммунистӣ , баъдан азнавсозии Горбачёв ба тамоюли 
аз чорчўбаи догматизм озод шудани фалсафа, ба танзими 
ақоидҳои гуногун ва гуфтугўи тамаддунҳо имконият 
фароҳам оварданд. 
Соли 1971 дар назди АУ СССР Ҷамъияти фалсафӣ 
ташкил меёбад, ки 8000 аъзоёни шахсӣ ва 200 аъзоёни 
коллективиро муттаҳид намуд. Дар солҳои фаъолияташ ин 
ҷамъияти ихтиёрӣ барои рушди эҷодии тафаккури фалсафӣ 
дар мамлакат, ҷумҳуриҳои алоҳида ва рушди робитаҳои 
илмии файласуфони шўравӣ бо файласуфони хориҷӣ саҳми 
арзанда гузошт. Худи Ҷамъияти фалсафии СССР аъзои 
баробарҳуқуқи Федератсияи байналмилалии ҷамъиятҳои 
фалсафӣ буд. 
48 
Бешубҳа, ҷараёни инкишофи илм, фалсафа ҳам дар ин 
ҷумла, бе бархурии низомҳои гуногуни арзишҳо намешавад. 
Муҳимтаринаш дар ин ҷараён донистани волоияти арзишҳои 
умумибашарӣ , ҳамдигарро ғанӣ гардонида ва дар замони 
ҷаҳонишавӣ нигоҳ дошта тавонистани анъанаҳои миллӣ 
мебошад. Ҳамин буд, ки дар СССР як зумра арбобони илми 
фалсафа – Б.М. Кедров, В.Ф. Асмус, А.Ф. Лосев, Э.В. 
Илъекков, М.М. Розентал, П.К. Анохин, Т.И. Ойзерман, М.Ф. 
Овсяников ва дар ҳар як ҷумҳурият файласуфони номдор 
тарбия ёфта ба хазинаи афкори фалсафӣ саҳмгузор 
гардиданд. 
5. Мактабҳои фалсафии Ғарб 
Кўшиши тасвири нави олам 
Фалсафаи асри ХХ кўшиш менамояд, то манзараи 
оламро дар тағйирот ифода намояд, танқиди ратсионализму 
илм, ки аз ҷониби ба ном «фалсафаи ҳаёт» ва дигар ҷараёнҳо 
қарор гирифта буд, маҳдудияти усули хиради ақлиро дар 
маърифат нишон медиҳад. Вале инкишофу фаҳмиши 
идеяҳои умедбахш басо мушкил буданд, зеро онҳо бо 
омезиши тасаввуротҳо, далелҳо ва хулосаҳои идеалистӣ 
пешниҳод мешуданд. 
Кўшиши аз нав сохтани манзараи олам аз тарафи 
файласуфи Фаронса Бергсон мушоҳида карда мешуд. Дар 
таълимоти пайравони «фалсафаи ҳаёт» Бергсон, Нитсше, 
Шпенглер чунин манзараи оламро мегузоранд, ки дар асоси 
он фаҳмиши нави эволютсияи табиат, инкишофи инсон ва 
ягонагии онҳо истода бошад. Ба ақидаи онҳо материя тобеи 
ҳаёт, эволютсияи олам ҳам ба туфайли ҳаёт тағйир меёбад. 
Тасаввуроти субъективӣ -идеалистӣ доир ба тасвири 
нави олам дар фалсафаи эмпериокритисизм дида мешавад. 
Мах, Авенариус, Богданов, Базаров кулли ҳастиро моҳиятан "; 
+0

Pourquoi appelez-vous 'array_filter()' sans fonction de rappel? – Matey

Répondre

1

La façon efficace de le faire est d'abord trier les mots par ordre alphabétique, puis la numérisation à travers le réseau tout en gardant seulement la première occurrence de chaque mot. Cela vous donne la complexité O (n * log (n)). Et c'est exactement ce qui se passe en interne à l'intérieur array_unique().

0

comme Matey dit array_unique est le plus rapide

mais vous pouvez essayer d'utiliser exploser puis foreach:

foreach($words as $word){ 
    if(!isset($uniqueWords[$word])){ 
    $uniqueWords[$word] = 1; 
    } 
} 

peut-être correspond plus à votre intention parce que vous pouvez faire plus de choses dans le cas bloquer avec les mots