Ergebnis 1 bis 9 von 9

Thema: Links filtern (gruppieren)

  1. #1
    Senior Avatar von Uranjitsu
    Registriert
    May 2016
    Beiträge
    210
    Gefällt mir!
    223
    Du gefällst: 158

    Links filtern (gruppieren)

    Grüßt euch,

    hat jemand eine Idee wie ich Links aus einer Textarea filtern- und jeweile in einem array übergeben kann?

    Beispiel Inhalt der textarea:

    Code:
    http://ul.to/1
    http://ul.to/2
    http://ul.to/3
    http://ul.to/4
    http://www.share-online.biz/1
    http://www.share-online.biz/2
    http://www.share-online.biz/3
    http://www.share-online.biz/4
    Somit sollen de ul.to zusammengefasst werden und die share-online links.
    Diese möchte ich dann separat weiter verarbeiten und/oder getrennt in die Datenbank übergeben.

    LG
    LG - Uranjitsu

  2. #2
    100% 0-Ahnung Avatar von FLX
    Registriert
    Mar 2015
    Beiträge
    1,669
    Gefällt mir!
    965
    Du gefällst: 1,247
    PHP-Code:
    $result explode(PHP_EOL$content); 
    Damit haste schonmal ein array mit Inhalt der einzelnen Zeilen
    You are offline
    Try:
    • Don't Panic
    • Look around
    • Interact with reality

  3. Diesen Mitgliedern gefällt dieser Beitrag:


  4. #3
    Senior
    THEMENSTARTER

    Avatar von Uranjitsu
    Registriert
    May 2016
    Beiträge
    210
    Gefällt mir!
    223
    Du gefällst: 158
    Ja,
    dass habe ich bereits, dennoch danke dafür.

    Es geht ja darum die Links so zu filtern das ich Gruppe a und gruppe b habe.

    a mit den ul- links
    b mit den so- links

    Das bekomme ich nicht gebacken. :/

    - - - - - - - - - - Beitrag nachträglich erweitert - - - - - - - - - -

    Hab da jetzt eine Variante gebastelt, aber kann mir jemand sagen ob das zuverlässig ist?
    PHP-Code:
    $content '
    http://ul.to/2
    http://www.share-online.biz/2
    http://ul.to/3
    http://www.share-online.biz/4
    http://ul.to/4
    http://www.share-online.biz/1
    http://www.share-online.biz/3
    http://www.share-online.biz/4
    http://ul.to/1
    '
    ;

    $result explode(PHP_EOL$content);

    echo 
    "Test1<br />";
    foreach (
    $result as $url) {
        
    $parse parse_url($url);
        if (
    $parse['host'] == "ul.to") {
            
    $ul .= $url;
        } elseif (
    $parse['host'] == "www.share-online.biz") {
            
    $so .= $url;
        }
    }

    echo 
    "UL<br />";
    echo 
    $ul;
    echo 
    "<br />SO<br />";
    echo 
    $so;
    echo 
    "<br />";
    var_dump($result);
    echo 
    "<br />"
    Ausgabe:
    Test2
    UL
    http://ul.to/2http://ul.to/3http://ul.to/4http://ul.to/1
    SO
    http://www.share-online.biz/2http://www.share-online.biz/4http://www.share-online.biz/1http://www.share-online.biz/3http://www.share-online.biz/4

    array(11) {
    [0]=>
    string(0) ""
    [1]=>
    string(14) "http://ul.to/2"
    [2]=>
    string(29) "http://www.share-online.biz/2"
    [3]=>
    string(14) "http://ul.to/3"
    [4]=>
    string(29) "http://www.share-online.biz/4"
    [5]=>
    string(14) "http://ul.to/4"
    [6]=>
    string(29) "http://www.share-online.biz/1"
    [7]=>
    string(29) "http://www.share-online.biz/3"
    [8]=>
    string(29) "http://www.share-online.biz/4"
    [9]=>
    string(14) "http://ul.to/1"
    [10]=>
    string(0) ""
    }
    LG - Uranjitsu

  5. #4
    Orakel von Delphi Avatar von 1stAid
    Registriert
    Dec 2015
    Beiträge
    267
    Gefällt mir!
    86
    Du gefällst: 226
    2x regex?
    1x mit ul
    1x mit so
    danach beide var zuasmmenführen?
    als Plan B nach dem trennen ein sort
    PHP: sort - Manual

    Grundsätzlich würde ich dazu neigen eine var oder einen Array pro OCH zu generieren, da die Weiterverabeitung je nach Anwendung pracktischer ist

    Gruß
    Geändert von 1stAid (23.03.2017 um 21:05 Uhr)

  6. Diesen Mitgliedern gefällt dieser Beitrag:


  7. #5
    Senior Avatar von zerox
    Registriert
    Oct 2015
    Beiträge
    233
    Gefällt mir!
    57
    Du gefällst: 183
    Das hier wird nicht immer funktionieren. "if ($parse['host'] == "ul.to") {"
    Da Uploaded mehrer Domains hat und ul.to nur eine davon ist. Aber parse_url kannst du benutzen ist eine Lösung die man nehmen kann.

    Grüße
    ~~ DEVELOPER ~~

    Kontakt zu mir: Contact Me

  8. Diesen Mitgliedern gefällt dieser Beitrag:


  9. #6
    Senior
    THEMENSTARTER

    Avatar von Uranjitsu
    Registriert
    May 2016
    Beiträge
    210
    Gefällt mir!
    223
    Du gefällst: 158
    Also ich bin jetzt so weit und habe mir diese funktion zum Test mal zusammengebaut.
    An sich scheint das zu funktionieren und wäre dementsprechend auch erweiterbar.
    PHP-Code:
    function mirror_maker($ochlinks)
    {

        
    $array_in explode(PHP_EOL$ochlinks);
        foreach (
    $array_in as $url) {
            
    $parse parse_url($url);
            if (
    $parse['host'] == "ul.to") {
                
    $ul1 .= $url;
            } elseif (
    $parse['host'] == "uploaded.net") {
                
    $ul2 .= $url "\n";
            } elseif (
    $parse['host'] == "www.share-online.biz") {
                
    $so1 .= $url "\n";
            } elseif (
    $parse['host'] == "share-online.biz") {
                
    $so2 .= $url "\n";
            } elseif (
    $parse['host'] == "rapidgator.net") {
                
    $rg1 .= $url "\n";
            } elseif (
    $parse['host'] == "openload.co") {
                
    $ol1 .= $url "\n";
            } elseif (
    $parse['host'] == "www.bigfile.to") {
                
    $bf1 .= $url "\n";
            } elseif (
    $parse['host'] == "bigfile.to") {
                
    $bf2 .= $url "\n";
            } elseif (
    $parse['host'] == "www.oboom.com") {
                
    $ob1 .= $url "\n";
            } elseif (
    $parse['host'] == "oboom.com") {
                
    $ob2 .= $url "\n";
            }
        }
        
    $uploaded    $ul1 $ul2;
        
    $shareonline $so1 $so2;
        
    $rapidgator  $rg1;
        
    $openload    $ol1;
        
    $bigfile     $bf1 $bf2;
        
    $oboom       $ob1 $ob2;

        
    $array_out = array(
            
    $uploaded,
            
    $shareonline,
            
    $rapidgator,
            
    $openload,
            
    $bigfile,
            
    $oboom,
        );
        return (
    $array_out);

    @1stAid,
    mit RegEx tue ich mich immer ganz ganz schwer
    LG - Uranjitsu

  10. #7
    Orakel von Delphi Avatar von 1stAid
    Registriert
    Dec 2015
    Beiträge
    267
    Gefällt mir!
    86
    Du gefällst: 226
    (ul\.to|uploaded\.net|(www\.)?share-?online\.biz|rapidgator\.net|openload\.co|(www\.)? bigfile.to|(www\.)?oboom\.com)
    als singeline und ignorecase.
    1 Zeile statt 1897x
    https://regex101.com/r/AgFmpV/1

    oder noch etwas kürzer
    (www\.)?(ul\.to|uploaded\.net|share-?online\.biz|rapidgator\.net|openload\.co|bigfile\ .to|oboom\.com)
    https://regex101.com/r/45pn45/1

    oder noch etwas kürzer
    (www\.)?(ul|uploaded|share-?online|rapidgator|openload|bigfile|oboom)\.(to|ne t|biz|com?)
    https://regex101.com/r/6evKmh/2

    Da die Hoster von links nach rechts abgearbeitet werden, kannst du dir die OCH nach Wunsch sortieren.
    Gruß
    Geändert von 1stAid (24.03.2017 um 08:26 Uhr)

  11. Diesen Mitgliedern gefällt dieser Beitrag:


  12. #8
    Senior Avatar von Nimbus
    Registriert
    Oct 2015
    Beiträge
    587
    Gefällt mir!
    110
    Du gefällst: 605
    Kennst du Switch?
    Alternativ könntest du die Hoster auch ganz generisch gestalten, sodass deine Funktion mit allen Links funktioniert. Dazu könntest du z.B. die Links in einem Array ablegen und als Key den Hostname verwenden und daraus später die Liste erstellen.

    EDIT: Also quasi so:
    PHP-Code:
    <?php
    pretty_print
    mirror_maker"http://ul.to/1
    http://ul.to/2
    http://ul.to/3
    http://ul.to/4
    http://www.share-online.biz/1
    http://www.share-online.biz/2
    http://www.share-online.biz/3
    http://www.share-online.biz/4" 
    ) );

    function 
    mirror_maker$ochlinks ) {
        
    $array_in explodePHP_EOL$ochlinks );
        
    $array_out = array();

        foreach (
    $array_in as $url) {
            
    $host parse_url($url)['host'];
            if (!empty(
    $url) && !empty($host)) {
                
    $array_out[$host][] = $url;
            }

        }

        return 
    $array_out;
    }

    function 
    pretty_print($array_in) {
        foreach (
    $array_in as $hoster=>$link) {
            echo 
    "$hoster\n";
            echo 
    implode("\n"$link);
            echo 
    "\n\n";
        }
    }
    ?>
    Geändert von Nimbus (24.03.2017 um 13:28 Uhr)

  13. Diesen Mitgliedern gefällt dieser Beitrag:


  14. #9
    Senior
    THEMENSTARTER

    Avatar von Uranjitsu
    Registriert
    May 2016
    Beiträge
    210
    Gefällt mir!
    223
    Du gefällst: 158
    Danke für die Ideen
    LG - Uranjitsu

Ähnliche Themen

  1. Antworten: 0
    Letzter Beitrag: 09.10.2016, 10:14
  2. [✔] Offline-Links im Container am Ende des Textfeldes gruppieren..?
    Von swen im Forum Filecrypt.cc - Anregung & Kritik
    Antworten: 5
    Letzter Beitrag: 04.09.2016, 19:10
  3. [✔] Seitenauswahl wird auch bei aktiven Filtern angezeigt
    Von Zarroc im Forum Filecrypt.cc - Anregung & Kritik
    Antworten: 0
    Letzter Beitrag: 16.02.2016, 05:38
  4. (BASH) - Filtern einer ungleichen Ausgabe mit doppelten Nummern
    Von syrius im Forum Entwicklung / Programmierung
    Antworten: 2
    Letzter Beitrag: 03.01.2016, 00:49
  5. DNS-Filter - nxfilter.org | Filtern per Proxy, DNS & Applications
    Von syrius im Forum Technik / Hardware & Software
    Antworten: 0
    Letzter Beitrag: 21.04.2015, 22:04

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  
SzeneBox.org... im Mittelpunkt der Szene!
© since 2015 szeneBOX.org - All Rights Reserved
Domains: www.szenebox.org