Sprawdzenie, czy wartość jest poprawnym numerem DOI

Założenie: Napiszemy funkcję PHP, która sprawdzi, czy podana wartość jest poprawnym numerem DOI (Digital Object Identifier).

Krok po kroku:

  1. Utworzenie funkcji walidującej: Zdefiniujemy funkcję isValidDOI, która przyjmuje numer DOI jako argument i zwraca true, jeśli jest poprawny, oraz false w przeciwnym wypadku.
  2. 
    function isValidDOI($doi) {
      // Prosty regex do weryfikacji podstawowego formatu DOI.  
      // Dla bardziej rygorystycznej walidacji, należy użyć biblioteki zewnętrznej.
      return preg_match('/^10\.\d{4,9}\/[-\._;()\/:A-Za-z0-9]+$/', $doi);
    }
    				
  3. Wywołanie funkcji i obsługa wyniku: Pobierzemy wartość z formularza (np. za pomocą $_POST['doi']) i wywołamy funkcję isValidDOI. Na podstawie zwróconej wartości wyświetlimy odpowiedni komunikat.
  4. 
    $doi = $_POST['doi'];
    
    if (isValidDOI($doi)) {
      echo "Podany DOI jest poprawny.";
    } else {
      echo "Podany DOI jest niepoprawny.";
    }
    				
  5. Dodatkowe zabezpieczenia (opcjonalnie): Przed użyciem wartości z formularza, zawsze należy ją oczyścić i zwalidować, aby zapobiec atakom XSS i innym zagrożeniom. Można użyć funkcji htmlspecialchars() do konwersji specjalnych znaków HTML na ich odpowiedniki.
  6. 
    $doi = htmlspecialchars($_POST['doi']);
    				

Pamiętaj, że powyższy przykład prezentuje podstawową walidację DOI. Dla bardziej zaawansowanej i dokładnej weryfikacji, zaleca się skorzystanie z dedykowanej biblioteki PHP, która obsługuje pełny standard DOI.

Dodaj komentarz 0

Your email address will not be published. Required fields are marked *