Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Zamiana znaków
Forum PHP.pl > Forum > Przedszkole
Szagii
Witam,
Mam do zrobienia mały projekt szkolny, tzn. napisanie aplikacji do ćwiczenia ortografii, niby nic trudnego, ale napotkałem się z małym problemem.
Cały system ma polegać na tym że kiedy nauczyciel będzie chciał aby dana litera była inputem, musi zapisać ją w nawiasie, tzn. "[Ż]onkil", i w tym miejscu rodzi się mój problem, używałem funkcji str_replace ale działa tylko z pustym nawiasem, kiedy już w niej jest litera to nie działa.


Tak wygląda kod:
  1. <?php
  2. if(isset($_POST['text']) && isset($_POST['send'])){
  3.  
  4. $text = $_POST['text'];
  5. $nawias = "[]";
  6. $input = '<input type="text">';
  7.  
  8. $new_text = str_replace($nawias, $input, $text);
  9.  
  10. echo $new_text;
  11. }
  12. ?>


Z góry dziękuję za pomoc.
trueblue
Dopasuj sobie: http://stackoverflow.com/a/2174368
Szagii
Cytat(trueblue @ 26.01.2017, 20:27:54 ) *


Coś ogarnąłem, nawet działa, ale tylko do jednego słowa, jak pojawia się więcej słów z nawiasami to ich nie wyświetla.
O to kod:
  1. <?php
  2. if(isset($_POST['text']) && isset($_POST['send'])){
  3.  
  4. $text = $_POST['text'];
  5. $pattern = "/\[[^)]*\]+/";
  6. $input = '<input type="text">';
  7.  
  8.  
  9. $new_text = preg_replace($pattern,$input,$text);
  10.  
  11. echo $new_text;
  12. }
  13. ?>

trueblue
Zainteresuje się operatorem non-greddy dla wyrażeń regularnych.
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.