Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] str_replace i błąd
Forum PHP.pl > Forum > Przedszkole
PawelC
Witajcie smile.gif
Chcę zamienić znak ' na cyfre 27 i powstaje mi taka linijka:
  1. <?php
  2. [b]Parse error[/b]: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in [b]/home/exploit1/domains/exploitek.info/public_html/lol.php[/b] on line [b]36
  3. ?>

36 linijka wygląda tak:
  1. <?php
  2. $adres=str_replace(''','27,$adres);
  3. ?>

Jak zrobić aby nie wyskakiwał mi ten błąd?? Oczywiście za liczbą 27 jest apostrof ale coś nie chcę go wyświetlić po napisaniu posta.

Wieviór
Spróbuj tak:

  1. <?php
  2. $adres=str_replace("'", "27", $adres);
  3. ?>
nevt
  1. <?php
  2. $adres=str_replace("'", '27', $adres);
  3. ?>
PawelC
Ale dziwne robiłem tak i mi nie działało, tylko nie wiem dlaczego teraz działa skoro tak robiłem.

Oczywiście dla Was panowie plusik i dziękuje za pomoc winksmiley.jpg
maziak
Hm, spróbuj tak :
  1. <?php
  2. $wynik=implode("%",str_split($zmienna));
  3. ?>


Edit: yh, eh, wyedytowałeś pytanie tongue.gif
PawelC
Fakt działa bo wstawia tylko jak to zrobić aby najpierw wstawił przed pierwszą literą wyrazu a później co 2 litery bo używam systemy szestnastkowego i musi być co dwie litery bo co jedną niedziała.
twój przykład wygląda tak:
  1. <?php
  2. 6%C%6%F%6%3%6%1%7%4%6%9%6%F%6%E%2%E%6%8%7%2%6%5%6%6%3%D%2%7%6%8%7%4%7%4%7%0%3%
  3. A%2%F%2%F%7%7%7%7%7%7%2%E%6%7%6%F%6%F%6%7%6%C%6%5%2%E%7%0%6%C%2%F%2%7
  4. ?>

A powinien tak wyglądać aby działał:
  1. <?php
  2. %6c%6f%63%61%74%69%6f%6e%2e%68%72%65%66%3d%27%68%74%74%70%
  3. 3a%2f%2f%67%6f%6f%67%6c%65%2e%70%6c%27
  4. ?>


Edit: dodałem do str_split 2 i działa, tylko coś nie idzie mi połączenie tego z js
maziak
Od bidy mozna by tak :

  1. <?php
  2. $wejscie="ciagznakow";
  3.  
  4. $zmienna=str_split($wejscie);
  5.  
  6. foreach($zmienna as $klucz => $wartosc ) {
  7. if (($klucz % 2) == 0) { $wynik=$wynik."%"; }
  8. $wynik = $wynik.$wartosc;
  9. }
  10.  
  11. echo $wynik;
  12. ?>

Powinno brykać smile.gif

edit: ah no tak, po co sie tak meczyc - od tego jest drugi parametr str_split ...
PawelC
No właśnie dodałem drugi parametr do str_replace i działa, a przed ten znak procentu dodałem poprzez łączenie ciągów. teraz wszystko ładnie pięknie działa ale niechce mnie przenieść na inną strone. Kod wygląda tak:
  1. <?php
  2. mysql_pconnect('localhost','sdsd','fdfd');
  3. mysql_select_db('gfgfg');
  4. $id=$_GET['id'];
  5. $pob=&#092;"select `id`,`slowo` from slowa where id='$id'\";
  6. $ok=mysql_query($pob);
  7. while($pokaz=mysql_fetch_array($ok)){
  8. $slowo=$pokaz['slowo'];
  9. $adres="location.href='http://adres.pl/szukaj.php?&keyword=$slowo'";
  10.  
  11. // tutaj jest kod odpowiedzialny za kodowanie adresu pobranego z bazy który działa
     poprawnie
  12.  
  13. $wynik=&#092;"%\";
  14. $wynik.=implode(&#092;"%\",str_split($adres,2));
  15.  
  16. }
  17. ?>
  18. <script LANGUAGE=\"JavaScript\" type=\"text/javascript\">
  19. eval(unescape(''));
Wieviór
Ja tam przeładowuję tak:

  1. <?php
  2. $goto = 'strona.php';
  3. echo '<script>setTimeout('document.location = "'.$goto.'"', 1000);</script>';
  4. ?>
PawelC
Mi też działa tylko problem polega na tym że jak pobiore z bazy słowo kluczowe i zrobie tak:
  1. $adres="location.href='http://adres.pl/szukaj.php?&keyword=$slowo'";

to nie działa
a ja zrobie tak
  1. $adres="location.href='http://adres.pl/szukaj.php?&keyword=pies'";

to działa

Pobiera z bazy dobrze bo wyświetla te słowo.
Wieviór
Użyj mojego kodu i wstaw za $goto tą Twoją zmienną. Tylko nie zmieniaj cudzysłowów i innych.
nitek
albo sprobuj połaczyc w ten sposób:

  1. <?php
  2. $adres="location.href='http://adres.pl/szukaj.php?keyword=".$slowo."'";
  3. ?>


w kodzie masz jeszcze coś takiego jak znak zapytania, a potem od razu '&' (szukaj.php?&keyword=...), chyba powinien zostać sam znak zapytania dla pierwszego parametru? Poza tym w takich 'echowanych' linkach powinno sie chyba stosować &amp; zamiast samego &?
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.