Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: str_replace problemz poprawną składnią
Forum PHP.pl > Forum > PHP
GremlinekZielony
Witam,
Chciałem sobie ułatwić życie bo dużo w praktyce korzystam z opcji "find and replace" pomyślałem sobie, że z pomocą może przyjść php i takim o to sposobem wyryłem w bitach coś takiego:
  1. <html><body link="#029cc8" vlink="#029cc8" alink="#029cc8">
  2. <form method="post" action="">
  3. <div align="center">
  4.  
  5.  
  6. <tr><td class="row2" valign="top">Tekst do zmienienia: <font color="red"></font></td><td class="row2"><textarea name="zmiana" rows="4" cols="100"></textarea></td></tr>
  7.  
  8. <tr><td class="row3" colspan="2" align="center"><input type="submit" value="Generuj"></td></tr>
  9. <?php
  10. $zmiana = $_POST['zmiana'];
  11.  
  12. if ($zmiana!="" && $zmiana!=""){
  13. echo('<br><table width="100%" class="forumline" border="0" cellpadding="1" cellspacing="1">
  14. <tr><th>Kod</th></tr>
  15. <tr><td class="row1"><textarea style="width: 100%" name="gen" rows="30" readonly>
  16.  
  17.  
  18. '.$zmiana.'
  19.  
  20. </textarea></td></tr><br>
  21. <tr><td class="row3" colspan="2" align="center"><input onclick="this.form.gen.select();" type="button"
  22. value="zaznacz kod"><br></td></tr>');
  23. }
  24. ?>
  25. </table>
  26. </div>
  27. </form>
  28. </body></html>


Chcę aby po wpisaniu tekstu
Cytat
java script:pokazMetryke('ctl00$ctnMetryka$metrykaPliku$lnkbtn','lnkbtn','False','Plik',%209631837);

zostało z niego wycięte:
Cytat
java script:pokazMetryke('ctl00$ctnMetryka$metrykaPliku$lnkbtn','lnkbtn','False','Plik',%20
oraz
Cytat
);
chciałbym to zamienić np. na spację.
Z góry dziękuję za pomoc
phpion
To nie str_replace, a raczej preg_replace.
GremlinekZielony
To jak to powinno wyglądać?
Bo wstawienie
  1. $dane_tech = preg_match(");",""), $_POST['dane_tech']);
nie działa.
IProSoft
Zaglądałeś w ogóle do dokumentacji: preg_match ?
GremlinekZielony
Tak ale nie mogę tego pojąć bo jakbym tego nie wcisnął w "$zmiana = $_POST['zmiana']; " tak nie działa.
casperii
Jeżeli chcesz zmienić jakiś znak to do tego służy to:

$zmienna = $_POST['cosComasz'];
$zmienna = str_replace(')', ' ', $zmienna); <- To ci zmieni nawias na spacje.

W tym swoim kodzie masz taki zapis:

if ($zmiana!="" && $zmiana!=""){...

Po co taki durny zapis warunku?
aras785
  1. <html><body link="#029cc8" vlink="#029cc8" alink="#029cc8">
  2. <form method="post" action="">
  3. <div align="center">
  4.  
  5.  
  6. <tr><td class="row2" valign="top">Tekst do zmienienia: <font color="red"></font></td><td class="row2"><textarea name="zmiana" rows="4" cols="100"></textarea></td></tr>
  7.  
  8. <tr><td class="row3" colspan="2" align="center"><input type="submit" value="Generuj"></td></tr>
  9. <?php
  10.  
  11. $zmiana = $_POST['zmiana'];
  12. $zmiana = str_replace(')', ' ', $zmiana);
  13.  
  14. if ($zmiana!=""){
  15. echo('<br><table width="100%" class="forumline" border="0" cellpadding="1" cellspacing="1">
  16. <tr><th>Kod</th></tr>
  17. <tr><td class="row1"><textarea style="width: 100%" name="gen" rows="30" readonly>
  18.  
  19.  
  20. '.$zmiana.'
  21.  
  22. </textarea></td></tr><br>
  23. <tr><td class="row3" colspan="2" align="center"><input onclick="this.form.gen.select();" type="button"
  24. value="zaznacz kod"><br></td></tr>');
  25. }
  26. ?>
  27. </table>
  28. </div>
  29. </form>
  30. </body></html>



ups... widzę, że z edytowałeś post ale rozwiązanie zostawiam smile.gif
GremlinekZielony
Dziękuję właśnie o takie coś mi chodziło. Jednakże pojawił się kolejny problem gdy próbuję zrobić coś takiego
  1. $zmiana = $_POST['zmiana'];
  2. $zmiana = str_replace('java script:pokazMetryke('ctl00$ctnMetryka$metrykaPliku$lnkbtn','lnkbtn','False','Plik',%20', 'abc', $zmiana);
  3. $zmiana = str_replace(');', '', $zmiana);

To wyrzuca błąd. Domyślam się, że to wszystko przez to co wpisuję aby zmieniało, jednak jeżeli zmienię znak ' na " to bład znika jednak zmieniać i tak nie chce. Jak to powinienem ugryźć?
Chcę żeby kolejny str_replace zamieniał dla przykładu:
takie coś: java script:pokazMetryke('ctl00$ctnMetryka$metrykaPliku$lnkbtn','lnkbtn','False','Plik',%20 na przykład na: abc
aras785
Trzeba dodać backslase przed apostrofami i to wystarczy smile.gif
  1. <html><body link="#029cc8" vlink="#029cc8" alink="#029cc8">
  2. <form method="post" action="">
  3. <div align="center">
  4.  
  5.  
  6. <tr><td class="row2" valign="top">Tekst do zmienienia: <font color="red"></font></td><td class="row2"><textarea name="zmiana" rows="4" cols="100"></textarea></td></tr>
  7.  
  8. <tr><td class="row3" colspan="2" align="center"><input type="submit" value="Generuj"></td></tr>
  9. <?php
  10.  
  11. $zmiana = $_POST['zmiana'];
  12. $zmiana = str_replace('java script:pokazMetryke(\'ctl00$ctnMetryka$metrykaPliku$lnkbtn\',\'lnkbtn\',\'False\',\'Plik\',%20', 'abc', $zmiana);
  13. $zmiana = str_replace(')', ' ', $zmiana);
  14.  
  15. if ($zmiana!="" && $zmiana!=""){
  16. echo('<br><table width="100%" class="forumline" border="0" cellpadding="1" cellspacing="1">
  17. <tr><th>Kod</th></tr>
  18. <tr><td class="row1"><textarea style="width: 100%" name="gen" rows="30" readonly>
  19.  
  20.  
  21. '.$zmiana.'
  22.  
  23. </textarea></td></tr><br>
  24. <tr><td class="row3" colspan="2" align="center"><input onclick="this.form.gen.select();" type="button"
  25. value="zaznacz kod"><br></td></tr>');
  26. }
  27. ?>
  28. </table>
  29. </div>
  30. </form>
  31. </body></html>
GremlinekZielony
Aaaa to takie rzeczy się robi żeby działało biggrin.gif
Dziękuję pięknie za pomoc
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.