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:
- Utworzenie funkcji walidującej: Zdefiniujemy funkcję
isValidDOI
, która przyjmuje numer DOI jako argument i zwracatrue
, jeśli jest poprawny, orazfalse
w przeciwnym wypadku. - 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. - 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.
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);
}
$doi = $_POST['doi'];
if (isValidDOI($doi)) {
echo "Podany DOI jest poprawny.";
} else {
echo "Podany DOI jest niepoprawny.";
}
$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.