Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Przetwarzanie tekstu
michal_s
post
Post #1





Grupa: Zarejestrowani
Postów: 148
Pomógł: 1
Dołączył: 11.12.2010

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


Witam. Za pomocą funkcji strpos pobieram miejsce, na którym znajduje się interesujący mnie znak i mam teraz pytanie jak wiedząc gdzie się znajduję mogę go zamienić na coś innego. Szukam (bezskutecznie...) funkcji, która w ciągu by wstawiała na podanym w parametrach miejscu znak (też podany) zamiast tego, który tam jest. Ma wykonywac zamianę. Istnieje taka funkcja? z góry dzięki.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mortus
post
Post #2





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

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


  1. $tekst = 'krofa';
  2. $znak1 = 'f';
  3. $znak2 = 'w';
  4. echo '<p>'.$tekst.'</p>';
  5. $tekst[strpos($tekst, $znak1)] = $znak2;
  6. echo '<p>'.$tekst.'</p>';

Można również użyć str_replace() z ostatnim parametrem ustawionym na 1:
  1. $tekst = 'krofa';
  2. $znak1 = 'f';
  3. $znak2 = 'w';
  4. echo '<p>'.$tekst.'</p>';
  5. $tekst = str_replace($znak1, $znak2, $tekst, 1);
  6. echo '<p>'.$tekst.'</p>';

Zadziała to tak samo, ponieważ strpos() zwraca "miejsce" wystąpienia pierwszego znaku w ciągu. No chyba, że użyjesz strpos() z ustawionym drugim parametrem.
Podobnie jak str_replace() można użyć wyrażeń regularnych i preg_replace().

EDIT
Spóźniłem się. Tyle rozwiązań ilu programistów.

Ten post edytował mortus 7.09.2011, 17:04:41
Go to the top of the page
+Quote Post

Posty w temacie


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: 4.10.2025 - 12:15