Autor | Zpráva | ||
---|---|---|---|
Lokutus7323 Profil * |
#1 · Zasláno: 3. 3. 2009, 16:42:09
Dobrý den,
chtěl bych se zeptat, zda existuje možnost(třeba nějaká funkce v PHP) ..která by mi otočila vstupní řeťězec.. Například: vstupní slovo by bylo : ahoj a script by mi vyhodil: joha nebo vstupní: 123 výstupní: 321 Děkuji |
||
Watchick Profil |
#2 · Zasláno: 3. 3. 2009, 16:50:28
|
||
blbec Profil * |
nebo složitější řešení:
1<?php <?php
$u = 'Žluťoučký koňík.';
for($i = 0; $i < mb_strlen($u, 'utf-8'); $i++) {
$a[] = mb_substr($u, $i, 1, 'utf-8');
}
$a = array_reverse($a);
foreach($a as $t) print $t; // .kíňok ýkčuoťulŽ
?> |
||
Watchick Profil |
#4 · Zasláno: 3. 3. 2009, 16:53:48
Ale proč to dělat zdlouhavě, když to jde jednoduše a je na to speciálně funkce? :)
|
||
blbec Profil * |
#5 · Zasláno: 3. 3. 2009, 16:56:37
protože:
print strrev('Žluťoučký koňík.'); // .k�È�ok ��k��uo��ul�� |
||
blbec Profil * |
#6 · Zasláno: 3. 3. 2009, 16:57:04
ale tak záleží, na co to bude :-)
|
||
Watchick Profil |
#7 · Zasláno: 3. 3. 2009, 17:06:09
blbec
to to vážně dělá? není to chybou formátování? |
||
blbec Profil * |
#8 · Zasláno: 3. 3. 2009, 17:09:24
já jsem to zkusil. tady je kód:
1<html><head> <html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Language" content="cs" />
</head><body>
<?php
$u = 'Žluťoučký koňík.';
for($i = 0; $i < mb_strlen($u, 'utf-8'); $i++) {
$a[] = mb_substr($u, $i, 1, 'utf-8');
}
$a = array_reverse($a);
foreach($a as $t) print $t; // .kíňok ýkčuoťulŽ
print '<br />'.strrev($u);
?>
</body></html> a tady je výsledek: http://83.208.153.155:20080/utf.php |
||
blbec Profil * |
#9 · Zasláno: 3. 3. 2009, 17:10:22
snad není chyba u mně :-D to bych se pěkně ztrapnil. zas takovej PHP Guru nejsem
|
||
Watchick Profil |
#10 · Zasláno: 3. 3. 2009, 17:30:16 · Upravil/a: Watchick
http://travian.damak.cz/test/diskuze.php
tedy v meta tagu jsem dal kódování 1250, a u tebe to specifické utf-8, a jede to obojí... Takže si myslím, že by šlo vošéfovat nějakým způsobem i v utf-8 Je zajímavé, jak takový banální dotaz rozpoutá takovouto diskuzi, a autor se tu jen tak neukaze xD |
||
Watchick Profil |
#11 · Zasláno: 3. 3. 2009, 17:31:31 · Upravil/a: Watchick
Post have been deleted
|
||
kletely Profil |
#12 · Zasláno: 3. 3. 2009, 17:36:31
blbec
Chyba u teba nie je. No len pri windows-1250 to ide inak nie. Ani keď dám Header("Content-type: text/html; charset=utf-8;"); Header("Content-type: text/html; charset=utf-8;"); |
||
Lokutus7323 Profil * |
#13 · Zasláno: 3. 3. 2009, 17:41:20
takhle pořebuji to na otočení řady čísel..konkrétně pro něco typu: opiště text z obrázku (obráceně)
|
||
fuckin Profil * |
#14 · Zasláno: 3. 3. 2009, 17:51:02
jelikoz v utf ceske znaky nezabiraji jeden bajt ale dva tak proto to zobrazi takovou blbost...
|
||
blbec Profil * |
lokotus: tak jestli to máš na captchu, tak použil fce md5() nebo sha1()
Watchkick: Ano, máš naprostou pravdu :-) takže podle mně stačí v UTF_8 místo strrev() použít 1function mb_strrev($string) function mb_strrev($string)
{
$return = '';
for($i = 0; $i < mb_strlen($u, 'utf-8'); $i++) {
$a[] = mb_substr($u, $i, 1, 'utf-8');
}
$a = array_reverse($a);
foreach($a as $t) return .= $t;
return $return;
} ani mb_convert_encoding(strrev($u), 'utf-8') ($u je string) nepomohlo |
||
Lokutus7323 Profil * |
#16 · Zasláno: 3. 3. 2009, 17:53:34
Děkuji, za rady všeho typu:) ... problém jsem vyřešil pomocí metody strrev(), protože budu otáčet je řady čísel, takže o kódování nemusím mít strach.
Ještě jednou děkuji všem, převážně pak Watchick(ovi) |
||
blbec Profil * |
#17 · Zasláno: 3. 3. 2009, 17:55:24
|
||
Watchick Profil |
#18 · Zasláno: 3. 3. 2009, 18:21:48 · Upravil/a: Watchick
haha :D
Watchick: 1 Jupí |
||
Časová prodleva: 1 rok
|
|||
net-vor Profil * |
blbec:
> function mb_strrev($string) > { > $return = ''; > for($i = 0; $i < mb_strlen($u, 'utf-8'); $i++) { > $a[] = mb_substr($u, $i, 1, 'utf-8'); > } > $a = array_reverse($a); > foreach($a as $t) return .= $t; > return $return; > } Tahle funkce je nesmyslná a nefunguje. Posílám lepší, funkční: 1 function mb_strrev($string) function mb_strrev($string)
{
for ($i = 0; $i < mb_strlen($string, 'utf-8'); $i++)
{
$a[] = mb_substr($string, $i, 1, 'utf-8');
}
$a = array_reverse($a);
return implode("", $a);
} tvorba webových stránek - net-vor.cz Moderátor nightfish: Odkaz jsem odstranil, nesouvisí s tématem.
|
||
__construct Profil |
Na čo vyťahuješ staré vlákno ?
Na čo sem strkáš odkaz na svoje stránky ? |
||
Alphard Profil |
#21 · Zasláno: 23. 6. 2010, 11:08:32
[#20] __construct
O tom odkazu hodně přemýšlím, jestli tolerovat, nebo ne. Ale v doplnění i starého tématu o funkční (lepší, další) řešení není problém. |
||
nightfish Profil |
#22 · Zasláno: 23. 6. 2010, 11:51:54
Alphard:
„O tom odkazu hodně přemýšlím, jestli tolerovat, nebo ne.“ Odkaz přímo nesouvisí s řešeným problémem, jsem pro smazání. „Ale v doplnění i starého tématu o funkční (lepší, další) řešení není problém.“ jsem jediný, komu připadne zbytečné cpát ty znaky do pole? 1function mb_strrev($string) function mb_strrev($string)
{
$vystup = '';
for ($i = mb_strlen($string, 'utf-8') - 1; $i >= 0; $i--)
{
$vystup .= mb_substr($string, $i, 1, 'utf-8');
}
return $vystup;
} |
||
Časová prodleva: 15 let
|
Toto vlákno je staré, již dlouho do něj nikdo nepřispíval.
Informace a odkazy zde uváděné už nemusejí být aktuální. Nechcete-li řešit zde uvedenou konkrétní otázku, založte si vlastní vlákno, nepište do tohoto. Vložíte-li sem nyní příspěvek, upoutáte pozornost mnoha lidí a někteří z nich si jen kvůli vám přečtou i všechny předcházející příspěvky. Předpokládáte-li, že váš text skutečně bude hodnotný, stiskněte následující tlačítko:
Běda vám, jestli to bude blábol.
0