Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Zagwiazdkowanie fragmentu stringa
kleszczoscisk
post
Post #1





Grupa: Zarejestrowani
Postów: 164
Pomógł: 3
Dołączył: 13.12.2007

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


Witam

Proszę o pomoc w rozwiązaniu problemu: mam ciąg znaków:
  1. $name = 'Andrzej Kowalski';

potrzebuję zamaskować część znaków, tak aby otrzymać:
Kod
And**** Kowa****

Istotne jest to aby ilość gwiazdek odpowiadała ilości zamaskowanych liter.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
scr1pt3r
post
Post #2





Grupa: Zarejestrowani
Postów: 22
Pomógł: 3
Dołączył: 27.08.2011
Skąd: Los Angeles

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


  1. <?php
  2.  
  3. $start = "Andrzej Kowalski";
  4. $name_surname = explode( " " , $start) ;
  5. $name = $name_surname[ 0 ];
  6. $surname = $name_surname[ 1 ];
  7. $dlugosc = strlen( $name ) ;
  8. $dlugoscdwa = strlen( $surname ) ;
  9.  
  10. for( $i = 3 ; $i <=$dlugosc; $i++ )
  11. {
  12. $name[ $i ] = "*" ;
  13. }
  14. for( $i = 3 ; $i <= $dlugoscdwa ; $i++ )
  15. {
  16. $surname[ $i ] = "*" ;
  17. }
  18.  
  19. echo $name. ' '. $surname ;
  20.  
  21. ?>


Ucze się PHP 2 dni więc narazie taki kod mogę napisać, ale napewno da sie patternem w 4 linijkach...
Btw. dlaczego jak próbowałem zrobić: $i <= strlen( $surname ) wyskakiwało Timed out ? Stack overflow ?

http://codepad.org/WfEfVjAm

Ten post edytował scr1pt3r 30.08.2011, 20:38:26


--------------------
'.' http://www.youtube.com/watch?v=ZxJsDsLUuKQ
Go to the top of the page
+Quote Post
kleszczoscisk
post
Post #3





Grupa: Zarejestrowani
Postów: 164
Pomógł: 3
Dołączył: 13.12.2007

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


  1. function maskuj($string,$ile){
  2. $name_surname = explode("@",$string);
  3. $name = $name_surname[0];
  4. $surname = $name_surname[1];
  5. $dlugosc1 = strlen($name);
  6. $dlugosc2 = strlen($surname);
  7. for($i = $ile; $i <=$dlugosc1-1; $i++ ){$name[ $i ] = "*" ;}
  8. for($i = $ile; $i <= $dlugosc2-1 ; $i++ ){$surname[ $i ] = "*" ;}
  9. return $name.'@'.$surname;
  10. }
  11. echo maskuj('Andrzej_Kowalski@wp.pl',3);

Kod
And*************@wp.**

Dzięki serdeczne !

Ten post edytował kleszczoscisk 30.08.2011, 20:54:12
Go to the top of the page
+Quote Post
grabek93
post
Post #4





Grupa: Zarejestrowani
Postów: 73
Pomógł: 8
Dołączył: 23.09.2010

Ostrzeżenie: (10%)
X----


  1.  
  2. <?php
  3.  
  4. $start = "Andrzej Kowalski";
  5. $start = explode( " " , $start) ;
  6.  
  7. foreach($start as $wyraz){
  8. $dlugosc = strlen( $wyraz );
  9. for( $i = 3 ; $i <=$dlugosc; $i++ )
  10. {
  11. $wyraz[ $i ] = "*" ;
  12. }
  13. echo $wyraz." ";
  14. }
  15.  


możesz teraz dowolną ilość wyrazów tak zrobić. Popracuj nad wyświetlaniem tego.

Ten post edytował grabek93 30.08.2011, 21:01:44
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 08:22