Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Grupowanie elementów listy
Destrudo
post
Post #1





Grupa: Zarejestrowani
Postów: 74
Pomógł: 0
Dołączył: 10.10.2011

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


Hej,

Mam listę, która pokazuje linki, przykład:

https://pl.wikipedia.org/wiki/xkhksa
https://pl.wikipedia.org/wiki/fdgdf
https://pl.wikipedia.org/wiki/trtert

I teraz chciałbym dodać taki warunek, który sprawdzałby, czy elementy listy do znaku / mają taki sam ciąg, czyli w powyższym przykładzie pokazałoby 1 wynik (obojętnie który), bo do / występującego po pierwszych dwóch // mają taki sam ciąg znaków, czyli pl.wikipedia.org. Zastanawiam się, jakby to obrobić

Ten post edytował Destrudo 2.02.2017, 17:05:58
Go to the top of the page
+Quote Post
pmir13
post
Post #2





Grupa: Zarejestrowani
Postów: 282
Pomógł: 89
Dołączył: 12.04.2011

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


  1. $links = array ( "https://pl.wikipedia.org/wiki/xkhksa",
  2. "https://pl.wikipedia.org/wiki/fdgdf",
  3. "https://pl.wikipedia.org/wiki/trtert",
  4. "https://en.wikipedia.org/wiki/fdgdf" );
  5.  
  6. $grlinks = array();
  7.  
  8. foreach( $links as $key => $url )
  9. $grlinks[substr($url,0,strpos($url,'/',9))]=$url;
  10.  
  11. $grlinks=array_values($grlinks);
  12.  
  13. print_r($grlinks);


Kod
Array ( [0] => https://pl.wikipedia.org/wiki/trtert [1] => https://en.wikipedia.org/wiki/fdgdf )
Go to the top of the page
+Quote Post
Destrudo
post
Post #3





Grupa: Zarejestrowani
Postów: 74
Pomógł: 0
Dołączył: 10.10.2011

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


To prawie to, ale co jeśli link będzie zamiast https to http? np tak:

https://pl.wikipedia.org/wiki/xkhksa
http://pl.wikipedia.org/wiki/fdgdf
https://pl.wikipedia.org/wiki/trtert

W powyższej liście też chciałbym to pogrupować do jednego
Go to the top of the page
+Quote Post
trueblue
post
Post #4





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


Podmień pętlę na:

  1. foreach( $links as $url ){
  2. $parsed=parse_url($url);
  3. $grlinks[$parsed['scheme'].'//'.$parsed['host']]=$url;
  4. }


'//' jest właściwie niepotrzebne jeśli będziesz wyciągał same wartości z tablicy.

Ten post edytował trueblue 2.02.2017, 18:51:41
Go to the top of the page
+Quote Post

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: 23.09.2025 - 10:09