Czy ktoś może mi udostępnić funkcję do generowania informacji o błędach?
Funkcje używane przez Wordpress do generowania informacji o błędach są rozproszone w kilku funkcjach i filtrach. Nie mogę ich wszystkich znaleźć. Czy ktoś może zapewnić mi jedną funkcję php do generowania informacji o błędach? Nie potrzebuję wszystkich funkcji Wordpressa, wystarczy zakodować znaki spoza alfabetu łacińskiego i usunąć niedozwolone znaki, które nie są dozwolone w adresie URL.
Ten post zawiera funkcję, ale nie obsługuje znaków innych niż łacińskie.
Dzięki!
Odpowiedzi
Ten post zawiera funkcję, ale nie obsługuje znaków innych niż łacińskie.
Dzieje się tak, ponieważ adresy URL nie mogą zawierać znaków spoza alfabetu łacińskiego / znaków ASCII.
Przeglądarki mogą wyświetlać znaki spoza alfabetu łacińskiego, ale to tylko funkcja interfejsu użytkownika.
Na przykład, jeśli odwiedzasz ten Wiktionary URL:, adres URL https://en.wiktionary.org/wiki/わかもの#Japanese
przeglądarki koduje japońskie znaki, aby uzyskać prawdziwy adres URL: https://en.wiktionary.org/wiki/%E3%82%8F%E3%81%8B%E3%82%82%E3%81%AE#Japanese
następnie URL dekoduje go podczas wyświetlania adresu URL. Wersja ze znakami procentu to prawdziwy adres URL.
Podobnie jest z innymi kodami znaków spoza ASCII, np. Arabski. Jeśli utworzysz post ze ślimakiem, わかもの
a następnie zapiszesz i sprawdzisz bazę danych, nie zobaczysz わかもの
, zobaczysz %e3%82%8f%e3%81%8b%e3%82%82%e3%81%ae
. Podobnie interfejs użytkownika pokaże japońskie znaki, ale jeśli skopiujesz link, otrzymasz zakodowaną wersję.
Jeśli następnie zaktualizujemy bazę danych i zmienimy informacje o treści wiadomości na わかもの
, post nie może zostać załadowany i otrzymamy błąd 404. Dzieje się tak, ponieważ informacja o błędzie jest nieprawidłowa i nie jest możliwe załadowanie adresu URL, który pasuje do tej informacji.
tak, potrzebuję, aby znaki inne niż łacińskie były zakodowane jako% xx
Potrzebujesz urlencode
tegoecho urlencode( $slug )