PHP.EE FOORUM   
Nimi:   Pass:   Mäleta mind! 
   Teemad | php.ee esilehele | registreeri | Märgi kõik teemad loetuks | #php.ee Skype vestlus | RSS
UUS TEEMA  OTSI  Lehekülgi: 1
otsing
Postitaja: fyr 2016-06-01 12:05:42
Kuidas teha sellist otsingut kodulehel, mis pole andmebaasiga seotud, vaid võtaks infot HTML failidest.

Kui kasutaja siestab otsingusõna "ilm", siis otsitakse erinevatest failidest, kus asub sõna ilm.
RE: otsing
Postitaja: nuujah. 2016-06-02 00:36:52
kui tõesti tahad kasutaja sellist lahendust, siis siin on jquery sinu sõber.. jqueryga otsid kogu htmlist sõnu , kuid kui sul on nüüd 5 erinevat html faili ja soovid, et kui olles ühes html failis, siis loeks ka teise html faili sisu, mis pole avatud hetkel.. siis läheb sul see asi veel keerulisemaks, sest peaksid kõikide html failide sisu kuskile laadima lehe laadimisel ja siis otsingu korral jquery loeb sealt ..

ise ma seda teinud ei ole aga tean, et nii saab ja otsi goolest midagi sellist - jquery search from html vms..

edu.
RE: otsing
Postitaja: man grep 2016-06-02 09:53:20
TSITEERITUD:
Kuidas teha sellist otsingut kodulehel, mis pole andmebaasiga seotud, vaid võtaks infot HTML failidest.

Kui kasutaja siestab otsingusõna "ilm", siis otsitakse erinevatest failidest, kus asub sõna ilm.
grep -ir 'otsitav' /Website/DocumentRoot
RE: otsing
Postitaja: man grep; man cut; man uniq 2016-06-02 10:12:02
TSITEERITUD:
Kuidas teha sellist otsingut kodulehel, mis pole andmebaasiga seotud, vaid võtaks infot HTML failidest.

Kui kasutaja siestab otsingusõna "ilm", siis otsitakse erinevatest failidest, kus asub sõna ilm.


see näide kuvab ainult faili nimed (ühekordselt), milles otsitav (ilm) sisaldub

grep -ir 'ilm' /usr/local/www/apache24/data | cut -f1 -d: | uniq

ülaltoodud näites on kaust, kust faile otsida, muuda see endale sobivaks:

/usr/local/www/apache24/data


php koodis võid kasutada globaalse muutuja väärtust: $_SERVER['DOCUMENT_ROOT']

ehk siis phps näeb asi välja umbes nii

PHP kood:
 
$command 
sprintf "grep -ir '%s' %s | cut -f1 -d: | uniq",
$_POST['searchtext'],
$_SERVER['DOCUMENT_ROOT'] );

system (  $command$results );


echo 
print_r $resultstrue );
RE: otsing
Postitaja: blaa 2016-06-02 11:08:01
jep, postitage otse grepile, ilgelt turvaline.
Üks lihtne, küll mitte kõige optimaalsem, variant on kasutada php vahendeid glob(), preg_match()

http://stackoverflow.com/questions/3756130/php-how-to-search
RE: otsing
Postitaja: man grep; man cut; man uniq 2016-06-02 14:53:30
TSITEERITUD:
jep, postitage otse grepile, ilgelt turvaline.

see on idee, kuidas teha, mitte valmis kood,
grep kasutamine on piisavalt turvaline kui lubada näiteks postitusena "a-z0-9"
või siis escapeshellarg()
http://php.net/manual/en/function.escapeshellarg.php

aga, et teema algataja lihtsalt kopi-peist ei teeks,, pakun turvalisema variandi


PHP kood:
 
$command 
sprintf "grep -ir '%s' %s | cut -f1 -d: | uniq"
escapeshellarg  $_POST['searchtext'] ),  
$_SERVER['DOCUMENT_ROOT'] ); 

system (  $command$results ); 


echo print_r ( $results, true );

Leheküljed: 1

©2002-2013 Martin Rebane & PHP.ee kaasautorid
  0.0842499732971