Wenn du MP3 Releases auch haben willst, wird diese Regel aber nur in den seltensten Fällen zutreffen.
Wenn du MP3 Releases auch haben willst, wird diese Regel aber nur in den seltensten Fällen zutreffen.
Vllt um mal einen ersten Gedanken zu geben wie man anfangen könnte:
PHP:
$name = 'Elser.Er.haette.die.Welt.veraendert.German.2015.A C 3.BDRiP.x264-XF';
$parts = explode('.', $name);
foreach ($parts as $part) {
if (checkMyPart($part)) {
return false;
}
}
function checkMyPart($string) {
// einzelnen String checken ob bekannte Wörter und Tags enthalten sind oder nicht
}
Ich glaube wir würden hier ein ordentliches Stück weiterkommen, wenn du die Problemstellung genauer präzisierst. Wenn wir wüssten, was genau du vorhast, dann könnten wir dir eventuell zielorientierter helfen.
Wie grob darf das ganze sein? Es macht für die Komplexität einen großen Unterschied, ob die möglichen ungültigen Eingaben überhaupt in die eines Releastitels kommen. Möchtest du nur Szenestandard? Möchtest du auch P2P?
Bei deinem Vorschlag wären z.B. die Eingaben "-.-" oder "Yᵒᵘ Oᶰˡʸ Lᶤᵛᵉ Oᶰᶜᵉ.-" als "gültiges" Release erkannt wurden. Ob das nun ein Problem ist hängt vom Ursprung der Eingaben ab und damit wieder vom Einsatzzweck.
Folgendes Snippet überprüft den Namen genau wie gewünscht.
Ich hab noch keine Scene Group Namen mit weniger wie 3 Buchstaben gesehen
daher überprüfe ich mit php internen Funktionen ob auf dem letzten Bindestrich eine Mindestanzahl Buchstaben folgen.
Code:if(substr_count($rlsName, '.') > 1 && strlen(substr(strrchr($rlsName, '-'), 1)) > 2) echo "Das Release enthält mind. 2 Punkte im Namen und endet auf einen Bindestrich gefolgt von mind. 3 Buchstaben";
Geändert von FLX (16.10.2015 um 02:11 Uhr)
You are offline
Try:
- Don't Panic
- Look around
- Interact with reality
Etwas intuitiver zu lesen und offener für Erweiterungen wäre meiner Meinung nach etwas in diese Richtung:
Hätte auch den Vorteil, dass nur Buchstaben und Zahlen in den "Blöcken" und als Gruppenname akzeptiert werden. Den Pool an zulässigen Zeichen kann man bei Bedarf natürlich erweitern.PHP-Code:if(preg_match("#^([A-z0-9]+\.){2,}.([A-z0-9]+)-([A-z0-9]){3,}$#", $rlsName)){
echo "Das Release enthält mind. 2 Punkte im Namen und endet auf einen Bindestrich gefolgt von mind. 3 Buchstaben\n";
}
Interne Übertragung
Läuft seit Jahren im Hintergrund mit. Jetzt kommt der Neubau.