Autor | Zpráva | ||
---|---|---|---|
maarlin Profil |
#1 · Zasláno: 13. 9. 2009, 08:15:07 · Upravil/a: maarlin
Zdravím,
mám následující kód: $string = " "; echo "\$string = ".$string."<br />\n"; $string = html_entity_decode ($string, ENT_QUOTES, "utf-8"); echo "\$string = ".$string."<br />\n"; // Zde vypisuje tvrdou mezeru (převedené ) - OK $string = trim ($string); echo "\$string = ".$string."<br />\n"; // Zde vypisuje stále tvrdou mezeru... Pomozte mi prosím někdo pochopit, proč se tak děje a proč prostě mezera po otrimování nezmizí... Díky |
||
Yur4Y Profil |
#2 · Zasláno: 13. 9. 2009, 08:52:14
Ten druhý parameter funkcie trim nie je kódovanie znakov. http://www.php.net/function.trim
|
||
maarlin Profil |
#3 · Zasláno: 13. 9. 2009, 09:04:36
[#2] Jo, to mě pak taky došlo, když jsem díval do manuálu, ovšem stejně se to chová i bez toho parametru... :(
|
||
maarlin Profil |
#4 · Zasláno: 13. 9. 2009, 12:50:13
Tak jsem to nakonec vyřešil
trim ($string, " "); Totiž následující podmínka je vyhodnocena jako nepravdivá: if ($string == " ") { echo "String is empty"; } |
||
Časová prodleva: 7 dní
|
|||
maarlin Profil |
#5 · Zasláno: 20. 9. 2009, 10:34:26
To co jsem psal
„Tak jsem to nakonec vyřešil trim ($string, " ");“ je samozřejmě blbost... druhý parametr je string a bere jako ořezávací každý znak toho řetězce, čili "ořezávací" řetězec není &nsbp;, ale jsou to ampersand, n, b, s, p a středník (každý zvlášť). |
||
Časová prodleva: 13 dní
|
|||
spigl Profil * |
#6 · Zasláno: 3. 10. 2009, 00:00:18
Viz poznámku v manuálu u html_entity_decode: Mezera po otrimování nezmizí, protože tvrdá mezera má ASCII kód 160, ale trim() ořezává znak s ASCII kódem 32.
|
||
Časová prodleva: 15 let
|
0