Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> ereg_replace ???
kabukiman
post
Post #1





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 17.03.2002
Skąd: zamość

Ostrzeżenie: (0%)
-----


Nadszedł czas na nauczenie się czegoś bardziej skompikowanego (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) Powiedzmy, że mam księgę gości i chcę, aby przy wyświetlaniu buźki (znaczki (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) itp.) zamieniały się na odpowiednie gify. Czy powinienem użyć do tego funkcji ereg_replace, gdyż nie bardzo działa.

Wpis zawarty jest w zmiennej $tresc, próbowałem tak:

echo ereg_replace (":P","<img src="jezyk.gif">", $tresc");

i nie zamienia.

Co robię źle ?
Go to the top of the page
+Quote Post
castor
post
Post #2





Grupa: Zarejestrowani
Postów: 456
Pomógł: 0
Dołączył: --

Ostrzeżenie: (0%)
-----


Cytat
Czy powinienem użyć do tego funkcji ereg_replace, gdyż nie bardzo działa.

zdecydowanie NIE...
...uzyj str_replace.. anie eregi bo nie uzywasz tu zadnego wyrazenia regularnego ..wiec str_replace bedzie szybsze i nie obciazy tak parsera (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Cytat
Wpis zawarty jest w zmiennej $tresc, próbowałem tak:
echo ereg_replace (":P","<img src="jezyk.gif">", $tresc");

i nie zamienia.
Co robię źle ?

na koncu zaraz po $tresc masz " a nie powinno go tam byc:)

zrob tak:
Kod
echo str_replace(": )","<img src="jezyk.gif">",$tresc);
Go to the top of the page
+Quote Post
kabukiman
post
Post #3





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 17.03.2002
Skąd: zamość

Ostrzeżenie: (0%)
-----


Kurczę, aż tak szybkiej odpowiedzi się nie spodziewałem (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

A teraz jak zrobić dużo podmian w jednej linijce, tzn


Kod
echo str_replace(": )","<img src="smile.gif">",$tresc);


i w tym samym momencie

Kod
echo str_replace(":(","<img src="sad.gif">",$tresc);


btw. czy to nie spowoduje drastycznego spadku szybkości działania skryptu?
Go to the top of the page
+Quote Post
castor
post
Post #4





Grupa: Zarejestrowani
Postów: 456
Pomógł: 0
Dołączył: --

Ostrzeżenie: (0%)
-----


nawet tego nie poczujesz (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Kod
function wymienSmiles($text){

   $smiles[0]=": (";

   $smiles[1]=": )";

   $smiles[2]=": D";



   $linki[0]='<img src="smiles.gif">';

   $linki[1]='<img src="smiles.gif">';

   $linki[2]='<img src="smiles.gif">';



    for($i=0;$i<count($smiles);$i++;){

       $text=str_replace($smiles[$i],$linki[$i],$text);

    }

     returne $text;

}

a teraz:
Kod
echo wymienSmiles($text);


oczywiscie tablice z linkami i smilesami musisz se uzupelnic :wink:
Go to the top of the page
+Quote Post
kabukiman
post
Post #5





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 17.03.2002
Skąd: zamość

Ostrzeżenie: (0%)
-----


taaaaa...

dzięki, działa, działa!!!

tylko musiałem jeden parse error usunąć...

ale jestem niewymownie wdzięczny, męczyłem się z tym od kilku dni.
Go to the top of the page
+Quote Post
castor
post
Post #6





Grupa: Zarejestrowani
Postów: 456
Pomógł: 0
Dołączył: --

Ostrzeżenie: (0%)
-----


no tak return a nie returne :wink:
Go to the top of the page
+Quote Post
kryr
post
Post #7





Grupa: Zarejestrowani
Postów: 268
Pomógł: 0
Dołączył: --
Skąd: kielce

Ostrzeżenie: (0%)
-----


[quote="castor"]nawet tego nie poczujesz (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Kod
function wymienSmiles($text){

   $smiles[0]=": (";

   $smiles[1]=": )";

   $smiles[2]=": D";



   $linki[0]='<img src="smiles.gif">';

   $linki[1]='<img src="smiles.gif">';

   $linki[2]='<img src="smiles.gif">';



    for($i=0;$i<count($smiles);$i++;){

       $text=str_replace($smiles[$i],$linki[$i],$text);

    }

     returne $text;

}

[quote]
a nie lepiej uzyc tablicy ascocjacyjnej? (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
castor
post
Post #8





Grupa: Zarejestrowani
Postów: 456
Pomógł: 0
Dołączył: --

Ostrzeżenie: (0%)
-----


Cytat
a nie lepiej uzyc tablicy ascocjacyjnej? (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)


kazdy robi jak lubi :wink:

zreszta nie powinno sie uzywac specjalnych znakow jak:;,. itd w polach okreslajacych indexy :wink:
Go to the top of the page
+Quote Post
GeoS
post
Post #9





Grupa: Zarejestrowani
Postów: 602
Pomógł: 0
Dołączył: --
Skąd: W - WA -> GRO

Ostrzeżenie: (0%)
-----


No wlasnie - tablice. Ja polecam do tego celu bardzo przyjemna funkcje strtr() (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
castor
post
Post #10





Grupa: Zarejestrowani
Postów: 456
Pomógł: 0
Dołączył: --

Ostrzeżenie: (0%)
-----


a ty myslisz ze wtle to w czym sa te dane przechowywane?

napisz to z strtr() i zobaczymy jakie to przejrzyste bedzie :wink:

zreszta ta fuknkcja nadaje sie do wymiany pojedynczych znakow a jesli chcesz wymieniac jakies CiagiZnakow to tez musisz jako parametr podac tablica z parami (asociacyina) :wink:
Go to the top of the page
+Quote Post
GeoS
post
Post #11





Grupa: Zarejestrowani
Postów: 602
Pomógł: 0
Dołączył: --
Skąd: W - WA -> GRO

Ostrzeżenie: (0%)
-----


Castor - co sie tak od razu rzucasz :?: Troche luzu.

Zgadza sie, ze twoj kod jest az do bulu czytelny, tylko cechuje sie duza (zbyteczna :!: ) objetoscia :!: To nie moj problem, ze ktos sie bierze za php i nie jest sobie w stanie w czytelny sposob zapisac takiej tablicy.

Moje rozwiazanie jest szybsze z tego wzgledu, ze nie odpalam petli do tworzenia i zamieniania tresci, tylko ta tablice mam od razu.

PS Chyba nie stanowi problemu (i nie zmniejsza czytelnosci) zapis tablicy, np. w taki sposob:
Kod
$sign = array("+"=>'',

"%22"=>'',

"%23"=>'',

"%24"=>'',

...);

I w czym problem :?:
Go to the top of the page
+Quote Post
castor
post
Post #12





Grupa: Zarejestrowani
Postów: 456
Pomógł: 0
Dołączył: --

Ostrzeżenie: (0%)
-----


Cytat
Castor - co sie tak od razu rzucasz :?: Troche luzu.

8)

Cytat
Zgadza sie, ze twoj kod jest az do bulu czytelny, tylko cechuje sie duza (zbyteczna :!: ) objetoscia :!: To nie moj problem, ze ktos sie bierze za php i nie jest sobie w stanie w czytelny sposob zapisac takiej tablicy.

:?:
Cytat
Moje rozwiazanie jest szybsze z tego wzgledu, ze nie odpalam petli do tworzenia i zamieniania tresci, tylko ta tablice mam od razu.


Ooo tak... a co z nia zrobisz jesli moge zaopytac?...
podasz jako argument do strtr() ...tak?..
...to moze wyjasnij mi jak strtr() przeleci HashMape bez petli (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

"czego ty nie robisz nie znaczy ze nie jest robione"

Cytat
PS Chyba nie stanowi problemu (i nie zmniejsza czytelnosci) zapis tablicy, np. w taki sposob:
Kod
$sign = array("+"=>'',

"%22"=>'',

"%23"=>'',

"%24"=>'',

...);


I w czym problem :?:
´
ty mi powiedz :wink:
Go to the top of the page
+Quote Post
DYRA
post
Post #13





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 24.03.2002
Skąd: Sosnowiec

Ostrzeżenie: (0%)
-----


hi
sorki za "odswierzenie" tematu, ale niemoge sobie poradzic (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
jak do tego kodu dodac zamiane znakow na obrazki ( $tekst = str_replace(":)","<img SRC=smile.gif",$ekst); )
kurde nieumiem sobie z tym poradzic
Cytat
<?
 $kiedy=date("d.m.Y");

if((!$wpis)&&(!$who)) {
 echo "<p>Prosze wpisać dane (IMG:http://forum.php.pl/style_emoticons/default/snitch.gif) </p>";
 exit();
}

if(!$wpis) {
 echo "<p>Wpisz wiadomosc !! (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) </p>";
 exit();
}

if(!$who) {
 echo "<p>Podpisz sie pod tym co piszesz (IMG:http://forum.php.pl/style_emoticons/default/snitch.gif) </p>";
 exit();
}
if($wpis!="") {
   $plik="kg/ksiega.txt";
    if(file_exists($plik))  
   {
    $wpis="<p style="color:#A9A9A9;font-size:10pt; font-family:verdana, tahoma,helvetica;"><small><i>$kiedy</i></small><br>&nbsp;$wpis<br><a HREF="mailto:$mail"><b>/$who</b></a> <small>($REMOTE_ADDR)</small><br><A HREF="$www"><u>$www</u></A></p>";
    $fid=fopen($plik,"r+");
    $wpis=$wpis. fread($fid,filesize($plik));
    rewind($fid);
    fputs($fid,$wpis);
    fclose($fid);
   }
   else  
   {
    $fid=fopen($plik,"w");
    $wpis="<p style="color:#A9A9A9;font-size:10pt; font-family:verdana, tahoma,helvetica;"><small><i>$kiedy</i></small><br>&nbsp;$wpis<br><a HREF="mailto:$mail"><b>/$who</b></a> <small>($REMOTE_ADDR)</small><br><A HREF="$www"><u>$www</u></A></p>";
    fputs($fid,$wpis);
    fclose($fid);
    }
 echo "<p style="font-size: 10pt; color:#A9A9A9;">Thx za wpis (IMG:http://forum.php.pl/style_emoticons/default/snitch.gif) ";
 echo "<p><a href="main.php">Back to main page.</a>";
}
?>

jest to prosta ksiega gosic (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
z gory thx
pozdro 4 all
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 12:02