millers Posted September 17, 2008 Report Share Posted September 17, 2008 Sveiki.Lieta tāda kad man ir nepieciešams kods kurš aizvieto textu ar bildi. Piemeram uzraksta :P aizvieto ar smaids1.png man itkā ir kods dabūju no viena tuta ,bet viņš man īsti nestrādā function smailji($teksts) { $ko_aizvietot = array(); $ar_ko_aizvietot = array(); $smailju_array = array( array('tongue.png',':P'), array('xmas.png','(xmas)'), ); foreach($smailju_array as $smailis) { $ko_aizvietot[] = ' '.$smailis[1].' '; $ar_ko_aizvietot[] = " <img src='smailji/{$smailis[0]}' alt='{$smailis[1]}'/> "; } return str_replace($ko_aizvietot,$ar_ko_aizvietot,$teksts); } Vainu viņā ir kļūda vainu es nemāku pareizi izvilkt ārā ... Varbūt varat pateikt kā izvilkt ārā to smaidu ... Link to comment Share on other sites More sharing options...
mounkuls Posted September 17, 2008 Report Share Posted September 17, 2008 Sviests. Kādu tur vajag gatavu kodu lai tekstu aizstātu ar img? str_replace() ir pats normālākais risinājums. Ja vajag tos visus smailijus sagrūst arajā, var to darīt, bet tad tā arī jādara. Viens array kur no kā mainīt un otrs uz kuru mainīt. es gan kādreiz mainiju ar ereg_replace tā. Bet ja smailiju ir kādi 20, neredzu jēgu, jo ar str_replace pa tiešo tas darbojas tik pat ātri manuprāt un bez problēmām. Izlasi ko tā str_replace funkcija dara vismaz:) Link to comment Share on other sites More sharing options...
Paulinjsh Posted September 17, 2008 Report Share Posted September 17, 2008 nu vari darīt tā: $replace_array = array(':)' => '<img src="/images/smile.gif" alt=":)" />', ':(' => '<img src="/images/unhappy.gif" alt=":(" />' ); $text = str_ireplace(array_keys($replace_array), $replace_array, $text); un visa bēda atrisināta. Link to comment Share on other sites More sharing options...
millers Posted September 17, 2008 Author Report Share Posted September 17, 2008 Lūdzu nevajag taisīt muļķīgas QUOTEs kkas man nestrādā .. paskaidro kur man viņs ir jamet ieksā un kas ir jāidara vēl vai ari tikai šis kods jaiemet un viss? Link to comment Share on other sites More sharing options...
Pentiums Posted September 18, 2008 Report Share Posted September 18, 2008 $replace_array = array(':)' => '<img src="/images/smile.gif" alt=":)" />', ':(' => '<img src="/images/unhappy.gif" alt=":(" />' ); $text = "TAVS TEKSTS KURĀ BŪS SMAIDIŅI :) :) :) :)"; $text = str_ireplace(array_keys($replace_array), $replace_array, $text); echo $text; Link to comment Share on other sites More sharing options...
millers Posted September 18, 2008 Author Report Share Posted September 18, 2008 nekas nesanāca kā vēlējos varbūt nepareizi biju paskaidrojis rekur būs mans code kur es vēlos to text aizstājēju cerams kad sapratīsiet ... Vienkārsi es gribu lai katram commentaram var pievienot :) kā bildi piemēram kā draugiem.lv utt.. http://paste.php.lv/8019?lang=php Link to comment Share on other sites More sharing options...
marcis Posted September 18, 2008 Report Share Posted September 18, 2008 Pašu funkciju, protams, tu nevari parādīt.. function smailji($str){ $replace=array(":)"=>'<img src="/emo/smile.gif" alt=":)" />',":("=>'<img src="/emo/sad.gif" alt=":(" />'); $str=strtr($str,$replace); return $str; } $komentaars = quote_smart(htmlspecialchars(smailji($_POST['komentaars']))); Link to comment Share on other sites More sharing options...
millers Posted September 18, 2008 Author Report Share Posted September 18, 2008 (edited) Funkciju jau parādiju pašā sākumā function smailji($teksts) { $ko_aizvietot = array(); $ar_ko_aizvietot = array(); $smailju_array = array( array('tongue.png',':P'), array('xmas.png','(xmas)'), ); foreach($smailju_array as $smailis) { $ko_aizvietot[] = ' '.$smailis[1].' '; $ar_ko_aizvietot[] = " <img src='smailji/{$smailis[0]}' alt='{$smailis[1]}'/> "; } return str_replace($ko_aizvietot,$ar_ko_aizvietot,$teksts); } ,bet viņja man nestrāda .. pameiģināsu tavu .. Edited .. Tavu Code izpilda bet viņš uzrada šādi <img src="/smailji/tongue.png" alt=":)" /> edited: datubāzē inserto viņš <img src='smailji/tongue.png' alt=':)' /> un caur view sourc arī šādi izskatās Edited September 18, 2008 by millers Link to comment Share on other sites More sharing options...
marcis Posted September 18, 2008 Report Share Posted September 18, 2008 neesi iedomājies, ka tas ir tādēļ, ka htmlspecialchars() tiek izpildīts pēc tam, kad notikusi ikonu ievietošana? function smailji($str){ $replace=array(":)"=>'<img src="/emo/smile.gif" alt=":)" />',":("=>'<img src="/emo/sad.gif" alt=":(" />'); $str=strtr($str,$replace); return $str; } $komentaars = quote_smart(smailji(htmlspecialchars($_POST['komentaars']))); Link to comment Share on other sites More sharing options...
millers Posted September 18, 2008 Author Report Share Posted September 18, 2008 BiG BiG Thx viss iet ... vienkarsi man tas php vell galigi sūdīgi iet tapēc uzdodu tik stūlbus jautājumus :P Link to comment Share on other sites More sharing options...
Drupal Posted September 18, 2008 Report Share Posted September 18, 2008 "Advancētie php programmētāji?" Link to comment Share on other sites More sharing options...
Recommended Posts