webalize – namísto nahrazení znaků jsou odstraněny

cafesk8
Člen | 103
+
0
-

Zdravím,

měl bych dotaz k funkci Nette\Utils\Strings::webalize() – dle dokumentace by měla „nekorektní“ znaky převést na jejich „korektní“ ekvivalenty, např. dle dokumentace:

Strings::webalize('náš produkt') === 'nas-produkt'

Mně to ale bohužel vrací

Strings::webalize('náš produkt') === 'ns-produkt'
Strings::webalize('čisťoučký Test 123') === 'isouk-test-123'

PHP 7.3.3
nette/utils ^3.0

Nenapadá Vás někoho čím by to mohlo být?

cafesk8
Člen | 103
+
+1
-

cafesk8 napsal(a):

Zdravím,

měl bych dotaz k funkci Nette\Utils\Strings::webalize() – dle dokumentace by měla „nekorektní“ znaky převést na jejich „korektní“ ekvivalenty, např. dle dokumentace:

Strings::webalize('náš produkt') === 'nas-produkt'

Mně to ale bohužel vrací

Strings::webalize('náš produkt') === 'ns-produkt'
Strings::webalize('čisťoučký Test 123') === 'isouk-test-123'

PHP 7.3.3
nette/utils ^3.0

Nenapadá Vás někoho čím by to mohlo být?

SOLVED: Chyběla mi intl extension – viz.: https://forum.nette.org/…ho-prostredi – příště budu lépe hledat před postováním

CZechBoY
Člen | 3608
+
0
-

Myslim ze to pise composer pri instalaci a mozna kontroluje requirements checker.

David Grudl
Nette Core | 8082
+
+4
-

V příští verzi na to přímo webalize upozorní.

admin@easyweb4u.cz
Backer | 143
+
0
-

To jsou sice hezké teorie (já jim ovšem nerozumím), ale kde tu intl extension (a jakou?) vezmu a kam jí strčím?

Mistrfilda
Člen | 76
+
0
-

https://www.php.net/…allation.php

primo extension do php, instalace zalezi na verzi a prostredi, ktere vyuzivas. Jestli se nepletu, tak by mela byt snad i predinstalovana ve spouste pripadu. Staci kouknout do php.ini jestli tam neni zakomentovana.

;extension=php_intl.dll

admin@easyweb4u.cz
Backer | 143
+
0
-

Otázka je, proč mi webalize na tom samém XAMPPu ale v jiném projektu normálně funguje? V php.ini vidím pouze ;extension=intl. Odkomentoval jsem to a… nic.

Pak jsem narazil na toto:

; Note : The syntax used in previous PHP versions (‚extension=<ext>.so‘ and
; ‚extension='php_<ext>.dll‘) is supported for legacy reasons and may be
; deprecated in a future PHP major version. So, when it is possible, please
; move to the new ('extension=<ext>) syntax.

Editoval admin@easyweb4u.cz (14. 8. 2020 23:29)