Skocz do zawartości
"Idzie nowe..." - o zmianach i nie tylko ×
Przeniesienie zakupów z IPS Marketplace / Moving bought items from IPS Marketplace ×

Usuwanie znaków diakrytycznych z linków w wersji 4.x


Macsch15

Rekomendowane odpowiedzi

Otwórz plik: system/Http/Url/Friendly.php

 

Znajdź:

		/* Always lowercase */
		$value = mb_strtolower( $value );

Dodaj POD tym:

		/* Remove polish accents */
		$value = str_replace(['ę', 'ó', 'ą', 'ś', 'ł', 'ż', 'ź', 'ń', 'ć'], ['e', 'o', 'a', 's', 'l', 'z', 'z', 'n', 'c'], $value);

URL przed modyfikacją:

/index.php?/topic/2-koń-przejechał-babcię-wodzi/

Po modyfikacji:

/index.php?/topic/3-kon-przejechal-babcie-w-lodzi/

Zmiana dotyczy tylko nowych tematów utworzonych po zastosowaniu modyfikacji.

Edytowane przez Macsch15
Aktualizacja.
  • Lubię to 3
Odnośnik do komentarza
Udostępnij na innych stronach

  • 6 miesięcy temu...
  • 3 tygodnie później...
  • 1 miesiąc temu...

Witam! Zastosowałem się do tego co wyżej napisano, tylko jest troszkę zmienione w wersji co ja mam 4.1.16.1 i nie wiem jak dodać, obecnie mam zrobione tak i nie działa:

			}
			
			/* Set it. Though case-insensitve, we should only produce lowercase schemes */
			$return[ static::COMPONENT_SCHEME ] = mb_strtolower( $scheme );
			
			/* Remove polish accents */
		    $value = str_ireplace(['ę', 'ó', 'ą', 'ś', 'ł', 'ż', 'ź', 'ń', 'ć'], ['e', 'o', 'a', 's', 'l', 'z', 'z', 'n', 'c'], $value);
			
		}
		/* If it's protocol relative, take the // off the URL for the rest of of our processing */

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 1 miesiąc temu...

Sama funkcja jest dobra tylko musicie zmienić kodowanie pliku na UTF-8 :) 

Proponuję to też przepuścić przez funkcję str_replace bo jest odrobinę szybsza.

Otwórz  system/Http/Url/Friendly.php

znajdź:

$value = mb_strtolower( $value );

dodaj po:

$value = str_replace(array('ą', 'ć', 'ę', 'ł', 'ń', 'ó', 'ś', 'ź', 'ż'), array('a', 'c', 'e', 'l', 'n', 'o', 's', 'z', 'z'), $value);

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager
1 godzinę temu, SeNioR napisał:

Proponuję to też przepuścić przez funkcję str_replace bo jest odrobinę szybsza.

http://php.net/manual/en/function.str-replace.php

http://php.net/manual/en/function.str-ireplace.php

Przecież to dwie 'różne' funkcje. :)

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 9 miesięcy temu...
  • 2 tygodnie później...
  • 4 miesiące temu...
  • 1 miesiąc temu...
  • 4 tygodnie później...

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.