ups Posted January 1, 2007 Report Share Posted January 1, 2007 Jāsalīdzina divi teksta mainīgie un jānosaka vai nav daļēja sakritība. Piemēram jānosaka vai mainīgā vērtība 64atsk ir daļa no 5264atskaite. Kā to varētu dabūt gatavu? Ja kāds var palīdzēt nedaudz konkrētāk par 'lasi manuāļus un meklē googlē' būšu ļoti pateicīgs! Link to comment Share on other sites More sharing options...
Val Posted January 1, 2007 Report Share Posted January 1, 2007 viens no variantiem: http://www.php.net/manual/en/function.substr-count.php Link to comment Share on other sites More sharing options...
Kristabs Posted January 1, 2007 Report Share Posted January 1, 2007 ereg() eregi() Link to comment Share on other sites More sharing options...
bubu Posted January 1, 2007 Report Share Posted January 1, 2007 Nu gan jums ieteikumi... Un vēl citā topikā tiek runāts par koda optimizēšanu mainot " pēdiņas uz ' apostrofu. Smieklīgi. Visparastākais strpos te jālieto. Link to comment Share on other sites More sharing options...
ups Posted January 1, 2007 Author Report Share Posted January 1, 2007 Paldies! Nebūs jāmežģa smadzenes ar regexp :) Link to comment Share on other sites More sharing options...
Stopp Posted January 1, 2007 Report Share Posted January 1, 2007 (edited) ereg/eregi ir ērtāk lietot. Un tur nav neviena regexpa. Edited January 1, 2007 by Stopp Link to comment Share on other sites More sharing options...
andrisp Posted January 1, 2007 Report Share Posted January 1, 2007 No php.net manuaalja (php.net/ereg): ereg -- Regular expression match Link to comment Share on other sites More sharing options...
Stopp Posted January 1, 2007 Report Share Posted January 1, 2007 Bet tie jau nav obligāti jālieto. Un tik tālu, cik prasīts, tie nav vajadzīgi. Piemēram jānosaka vai mainīgā vērtība 64atsk ir daļa no 5264atskaite. if(ereg("64atsk", "5264atskaite")) { //ir sakritība } else { // nav sakritības } Link to comment Share on other sites More sharing options...
andrisp Posted January 1, 2007 Report Share Posted January 1, 2007 Cik saprotu, tad regex "engins" taapat tiks "piedarbinaats", kaut arii neizmantosi nekaadus specifiskos ekspresiju simbolus. Link to comment Share on other sites More sharing options...
Stopp Posted January 1, 2007 Report Share Posted January 1, 2007 Bet nav jāmežģa smadzenes :) Var jau būt, ka tas darbojas drusku lēnāk par strpos, bet nav jādomā katru reizi, cik tad = simbolus vajadzēja rakstīt. Ne reizi vien esmu meklējis vairākas stundas kodā kļūdu, kas izrādās viena nelaimīga vienādības zīmīte par maz. Link to comment Share on other sites More sharing options...
andrisp Posted January 1, 2007 Report Share Posted January 1, 2007 Stopp, par kaadiem "=" tu runaa ? Paarbaudiit vai viens strings satur otru, ieksh abaam fjaam ir ljoti liidziigi: strpos($text, $what_to_search) !== false // atgriezh true, ja atrod ereg($what_to_search, $text) !== false // atgriezh true, ja atrod Un vispaar - preg_match esot aatraaks par ereg. Link to comment Share on other sites More sharing options...
Stopp Posted January 1, 2007 Report Share Posted January 1, 2007 strpos nevar lietot šādi if (strpos($a, $b)) do_function(); (jo strpos var atgriezt 0), bet ereg var. Tur ir tā ērtība, par ko es runāju. Link to comment Share on other sites More sharing options...
bubu Posted January 1, 2007 Report Share Posted January 1, 2007 džīzas.. par diviem = un vienu ! uztraucies.. Nu gan programmētājs. Un pēc tam visi brīnās, kur tādi brīnumkodi rodās. Tu varbūt funkcijas arī netaisi, Stopp? Jo tā ietaupās rakstī dažas parastās iekavas un figūriekavas! Un galvu nevajagot lauzīt? Un ja nu tu stringā meklēsi punktu ko tad? if(ereg(".", "5264atskaite")) { echo "ir sakritība"; } else { echo "nav sakritības"; } Man saka, ka ir sakritība. Un kā būs, ja es gribēšu atrast iekavu? if(ereg("(as", "5264(asatskaite")) { Man saka, ka Warning: ereg(): REG_EPAREN in XXX on line Y Jā, tādu ērtību un galvas nelauzīšanu neesmu sen redzējis... Link to comment Share on other sites More sharing options...
Stopp Posted January 2, 2007 Report Share Posted January 2, 2007 Vo vellos, nekad nebiju aizdomājies tik tālu, ka kāds varētu sērčboksā ievadīt punktu vai vēl kādas perversības. Hah, jāsteidz izlabot nepareizi kodi :) Link to comment Share on other sites More sharing options...
andrisp Posted January 2, 2007 Report Share Posted January 2, 2007 punkts vai iekava nemaz nav taada perversiiba ;) Link to comment Share on other sites More sharing options...
Recommended Posts