|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Denis Roshchin 2:5020/400 15 Jun 2001 13:27:05 To : All Subject : :) -> <img src="s1.gif"> -------------------------------------------------------------------------------- Hi, All! Хочу заменить ":)" и других на иконки. Есть база (smiles), где три поля: "stext" (что заменяем) и "saddress" (адрес картинки). Основные мучения с 30-ой строкой. Просто $text =~ s/:)/lalala/g; - менять не хочет. Если сделть $text =~ s/\:\)/lalala/g; - то соглашается... но когда я все соединяю, то все-равно что-то глючит, получается вместо ссылки на имэдж строка киллометров на 15...: 28. $picture = "<img src=$temp22>"; 29. $backslash = "\\"; Переменная $backslash, насколько понимаю, будет содержать "\". 30. $search =~ s//$backslash/g; Ставим перед каждым символом в $search - "\". 31. chop($search); Удаляем "\" после последнего сивола. 32. 33. $text =~ s/$search/$picture/g; собственно пытаюсь заменить, but negative ;)) 1. sub smiles($) 2. { 3. $text = $_[0]; 4. db_init_two(); 5. 6. $selectvar = "SELECT sid,stext,saddress FROM smiles"; 7. 8. $sthtwo = $dbhtwo->prepare ($selectvar); 9. $sthtwo->execute(); 10. 11. $nomerochek = 0; 12. while(@ary = $sthtwo->fetchrow_array()) 13. { 14. $pint[$nomerochek] = join ("DRFR", @ary), "<br>"; 15. $nomerochek++; 16. } 17. 18. $nomer = 0; 19. while($nomer < $nomerochek) 20. { 21. # 1id 2text 3address 22. $pint[$nomer] =~ /(\d+)DRFR(.*)DRFR(.*)/g; 23. 24. $search = $2; 25. $address = $3; 26. 27. $temp22 = $path . $address; 28. $picture = "<img src=$temp22>"; 29. $backslash = "\\"; 30. $search =~ s//$backslash/g; 31. chop($search); 32. 33. $text =~ s/$search/$picture/g; 34. $nomer++; 35. } 36. $sthtwo->finish(); 37. db_shtdwn_two(); 38. return $text; 39. } Denis Roshchin --- ifmail v.2.15dev5 * Origin: MTU-Intel ISP (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/910428344080.html, оценка из 5, голосов 10
|