Cautare serie de cuvinte intr-un sir in php
Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
-
Marius
- Mesaje:60
Cautare serie de cuvinte intr-un sir in php
Am o listă de cuvinte spam care se află într-un array. Când un utilizator trimite un text șir, vreau să știu dacă textul conține vreunul din aceste cuvinte. Cum pot face acest lucru eficient?
Am scris acest cod:
Cod: Selectaţi tot
$my_words = 'buy;sell;shop;purchase';
$array_words = explode(';' ,$my_words); //convert the list to an array
$input_text = 'we can sell your products'; //user will input this text
foreach($array_words as $word){
if(strpos($input_text ,$word) !== false) return 'You can't use from this text';
}
Dar dacă am multe cuvinte speciale în array, foreach() încetinește viteza de execuție.
MarPlo
Mesaje:4343
Ai putea sa adăugi cuvintele spam într-un șir, cu | ca separator de cuvinte și apoi folosesti Regex pentru a verifica.
Cod: Selectaţi tot
$my_words = 'buy|sell|shop|purchase';
$input_text = 'we can sell your products'; //user will input this text
if(preg_match('#\b(?:'.$my_words.')\b#i', $input_text, $mt)) echo 'Match: '.$mt[0];
else echo 'No match';
Iată o explicație a regex-ului construit și utilizat mai sus:
Cod: Selectaţi tot
/\b(?:buy|sell|shop|purchase)\b/i
\b marcheaza inceput de cuvant
(?:
buy
| OR
sell
| OR
shop
| OR
purchase
)
\b marcheaza sfarsit de cuvant
i cautarea sa nu fie case-sensitivity
Subiecte similare
- Repetare un pas într-o buclă for in JS
JavaScript - jQuery - Ajax
Primul mesaj
Am o buclă for() precum aceasta care arată ce vreau să fac.
for(var i=0; i<15; i++) {
// Add data in html
// When data has a specified...
Ultimul mesaj
Poti sa adaugi o condiție if() în buclă și cu ea verifici valorile acelor date.
Dacă are valoarea specificată, setează noile date dorite și scade 1...
- Afisare optiune selectata intr-un Div
JavaScript - jQuery - Ajax
Primul mesaj
Cum pot face ca atunci cand e selectata o optiune dintr-o lista <select> sa fie afisata intr-un Div valoarea acelei optiuni.
Am acest cod...
Ultimul mesaj
Cu JavaScript adaugi un eveniment 'change' la elementul <select> care se va declansa cand o optiune e selectata.
In interiorul acelui...
- Raspberry Pi 400 - un întreg PC într-o tastatură
Divertisment si Jocuri
Computerele desktop pot fi destul de voluminoase, ceea ce nu este necesar pentru persoanele care au nevoie doar să acceseze internetul sau să lucreze...
- Inversare caractere adăugate într-un câmp de text
JavaScript - jQuery - Ajax
Primul mesaj
Am urmatorul cod html si JavaScript. O caseta de text input si un button.
<input type='text' id='backwards-input'>
<button...
Ultimul mesaj
Testeaza si studiaza urmatorul cod:
<input type='text' id='backwards-input'>
<button id='backwards-button'>Button</button>...