Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: str_replace() - z nia czy ze mna cos nie tak ?
Forum PHP.pl > Forum > PHP
invx
nierozumie:

  1. <?php
  2.  
  3. $tresc="aaa :boksuj: :cmok: snitch.gif";
  4.  
  5. $sql = "SELECT * FROM emots_b";
  6. $wykonaj = mysql_query( $sql );
  7. while( $emots = mysql_fetch_array( $wykonaj ) )
  8. {  
  9.  echo"$emots[symbol]<br>";
  10.  
  11.  $tresc = str_replace( $emots[symbol], "<img src="../emots/pliki/lokalizacja" alt="$emots[nazwa]">" , $text );
  12. }
  13. return $tresc;
  14. ?>


i nie podmienia nic, bo obrazku nie widze. a echo"$emots[symbol]<br>";

pokazuje mi

Kod
:3m:
:boksuj:
:cmok:
:>
:co:
:ysz:
:upss:
:zly:


cowiecej jak wpisze zamias zmiennej normalnie jakis znak to go podmienia i gifa wyswietla blink.gif
dr_bonzo
A gdzie jest zdefiniowane $text, symbol.

A jaki obrazek jest pod linkiem: "../emots/pliki/lokalizacja"?
SongoQ
  1. <?php
  2. $emots['symbol']
  3. ?>
invx
$tresc=$text nieprzepisalem tongue.gif

a url, tez uciety tongue.gif, ale nawet jak jest uciety, a zamias $ wpisze normalnie np. snitch.gif, to podstawia, i wyswietla ze nei mozna wyswietlic gifa. A jak jest zmienna to nic nie podmienia ... kompletnie ... wyswietla mi poprostu wprowadzony text
hwao
Szczerze to wg mnie, to osoba z taka liczba postów powinna umieć dobrze php, a Ty mi wyglądasz dalej na poziom beginer…

Bez urazy, ale za każdym razem jak pokazujesz jakiś kod to on to masakra.

Swoja droga polecam Ci jednak napisać funkcje do zamiany na emontki, wtedy będziesz miał lepsza kontrole i jak dobrze napisze to wydajność tez wzrośnie + łatwa poprawa.
invx
a to jest wlasnie fragment ciala funkcji do podmiany znakow na emotki smile.gif

mowisz ze kod taki straszny ... ale nei dziala ... a dlaczego nieewiadomo ... nemo ...
Lars
  1. <?php
  2. ?php
  3.     
  4. $tresc="aaa :boksuj: :cmok: snitch.gif";
  5.  
  6. $sql = "SELECT * FROM emots_b"; // nieoptymalne chyba ze jest tylko 1 pole
  7.     $wykonaj = mysql_query( $sql );
  8.     while( $emots =  mysql_fetch_array( $wykonaj ) )
  9.     {   
  10.          echo $emots['symbol']."<br>";
  11.  
  12.          $tresc = str_replace( $emots['symbol'], "<img src="../emots/pliki/lokalizacja" alt="".$emots['nazwa']."">" , $text );
  13.     }
  14. return $tresc;
  15. ?>


$emots['nazwa'] a nie $emots[nazwa]! podstawy
PS. "nie dziala" bardzo duzo mówi
hwao
nie wiadomo czemu dziala bo samo php nie wie jak to intepretowac winksmiley.jpg

  1. <?php
  2.  
  3. function addEmots( $sString ) {
  4.  static $aEmots = null;
  5.  if( is_null( $aEmots ) ) {
  6. $aEmots = array();
  7. $sSql = 'Select * From emots_b';
  8. $rQue = mysql_query( $sSql ) or die( mysql_error() ); // die wywal ;) tylko dla debugu
  9. while( $aVal = mysql_fetch_assoc( $rQue ) ) {
  10.  $aEmots[$aVal['symbol']] = '<img src="./../emots/" alt="'.$aVal['nazwa'].'" />';
  11. }
  12.  }
  13.  
  14.  return strtr( $sString, $aEmot );
  15. }
  16. ?>


Tyle wywnioskowalem po Twojim kodzie, reszte dorob sam...
invx
niby wszytsko pieknie ... dziala tylko ze to gotowiec napisany nie przezemnie ... tongue.gif

  1. <?php
  2. $aEmots = array(); 
  3. ?>

dobrze by bylo bez tej tablicy to zrobic ...

P.S.
w standardach kodowania na php.pl czytalem ze nawiasy klamrowe piszemy w nowych liniach ... ?
SongoQ
Cytat
P.S.
w standardach kodowania na php.pl czytalem ze nawiasy klamrowe piszemy w nowych liniach ... ?

Jak bys dobrze poczytal to bys wiedzial ze wyrozniamy 3 standardy: BSD, GNU, K&N
hwao
Cytat(invx @ 2005-11-29 19:19:55)
P.S.
w standardach kodowania na php.pl czytalem ze nawiasy klamrowe piszemy w nowych liniach ... ?

Ja opracowałem wlasny standard smile.gif tam sa elementy paru.. poprostu tak mi lepiej..

Co do tej tablicy to jezeli jej nie chcesz to za zkazym razem kiedy bedziesz chcial emoty to bedizesz musial z mysql pobierac jakie to sa, imho bez sens...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.