Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Jak rodzielić ciąg znaków?
artuross
post
Post #1





Grupa: Zarejestrowani
Postów: 164
Pomógł: 9
Dołączył: 30.12.2011

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


Muszę rozdzielić ciąg znaków w określonym miejscu, ale chodzi o to, że poszukiwany kawałek może występować kilka razy całej zmiennej, co wtedy?

  1. $odczyt = "Książka by Autor";
  2. $a = explode(' by ', $odczyt);
  3.  
  4. $odczyt = "'Książka by Autor' by Autor"; //co tutaj?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Methestel
post
Post #2





Grupa: Zarejestrowani
Postów: 46
Pomógł: 10
Dołączył: 30.06.2008

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


Można łatwo napisać inną wersję funkcji explode która dzieli ciąg znaków od końca i która jest bardzo przydatna w tym przypadku:

  1. ini_set("display_errors", 1);
  2.  
  3. $tester = array('"Tytuł by Książka" by Autor', 'Tytuł by Autor', '', 'Tytuł');
  4.  
  5. foreach($tester as $test) {
  6. echo implode(" - ", explodeRev(' by ', $test, 2));
  7. echo "<br />";
  8. }
  9.  
  10. function explodeRev($delimiter, $string, $limit = null) {
  11. $r = explode(strrev($delimiter), strrev($string), $limit);
  12. foreach($r as $key => $value) {
  13. $r[$key] = strrev($value);
  14. }
  15. return array_reverse($r);
  16. }


Wynik działania tego skryptu to:

Kod
"Tytuł by Książka" - Autor
Tytuł - Autor

Tytuł
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 - 00:02