Przedszkolak
Postów: 2
Data rejestracji: 28.04.2010 17:20
|
Dostałem następujące zadanie:
Napisz funkcję, której argumentem jest dowolny tekst. Funkcja zwraca palindrom tekstu w którym
każde słowo jest pisane od dużego znaku.
Plik z funkcją jest wczytywany do kodu HTML z osobnego pliku. Wpisany tekst i palindrom powinny
pojawić się na ekranie.
Zrobiłem narazie tyle:
<?php
$pali = "Nogawka jak wagon";
echo "$pali <BR><BR>";
$pali = strrev($pali);
echo "$pali <BR><BR>";
$pali = strtolower($pali);
echo "$pali <BR><BR>";
$pali = ucwords(strtolower($pali));
echo "$pali <BR><BR>";
?>
Wtedy wyświetla mi:
Nogawka jak wagon
nogaw kaj akwagoN
nogaw kaj akwagon
Nogaw Kaj Akwagon
A chciałbym, żeby było:
Nogawka jak wagon
nogaw kaj akwagoN
nogaw kaj akwagon
Nogaw Kaj Akwagon
Nogawka Jak Wagon
Więc wpadłem na pomysł, że dodać do tego if'a oraz pętle, która będzie zmieniać pozycje spacji, tylko nie za bardzo wiem jak to zrobić:
<?php
$palispr = "Nogawka Jak Wagon";
$pali = "Nogawka jak wagon";
echo "$pali <BR><BR>";
$pali = strrev($pali);
echo "$pali <BR><BR>";
$pali = strtolower($pali);
echo "$pali <BR><BR>";
$pali = ucwords(strtolower($pali));
echo "$pali <BR><BR>";
if ($pali = $palispr) {
echo "$pali<BR><BR>";
} else {
}
?>
Dałby ktoś rade mi pomóc?
Edytowane przez Pieka dnia 28.04.2010 18:20:54
|
Przedszkolak
Postów: 34 Pomógł: 6
Data rejestracji: 18.09.2009 20:36
|
Witam.
Zrobiłem funkcję palindrom.
Wpisujesz tekst i podajesz parametry.
Podałem przykłady, może Ci się przyda.
<?php
/**
*
* Autor : pekemon
* WWW : pekemon.cba.pl
*
* Funkcja :
*
* palindrom($tekst, $ile_spacji, $ile_enterow, $czy_tez_tekst_wpisany)
*
* Parametry :
*
* $tekst - Wpisz swój tekst np. Nogawka jak wagon
* $ile_spacji - Wpisz ilosć spacji np. 10
* $ile_enterow - Wpisz ilosć enterów np. 2
* $czy_tez_tekst_wpisany - Wpisz czy też dodawać spacje do 'tekstu' - 0 (NIE) lub 1 (TAK) np. 0
*
*/
function palindrom($tekst = 'Nogawka jak wagon', $ile_spacji = 10, $ile_enterow = 2, $czy_tez_tekst_wpisany = 0)
{
$tekst_orginalny = $tekst;
$ile_spacji_pokaz = '';
$ile_enterow_pokaz = '';
for($i1=0; $i1 < $ile_spacji; $i1++) $ile_spacji_pokaz .= ' ';
for($i2=0; $i2 < $ile_enterow; $i2++) $ile_enterow_pokaz .= '<br />';
if ($czy_tez_tekst_wpisany == 1)
{
echo $ile_spacji_pokaz.$tekst.$ile_enterow_pokaz;;
}
else echo $tekst.$ile_enterow_pokaz;
$tekst = strrev(ucfirst(strtolower($tekst)));
echo $ile_spacji_pokaz.$tekst.$ile_enterow_pokaz;
$tekst = strtolower($tekst);
echo $ile_spacji_pokaz.$tekst.$ile_enterow_pokaz;
$tekst = ucwords(strtolower($tekst));
echo $ile_spacji_pokaz.$tekst.$ile_enterow_pokaz;
$tekst_orginalny = ucwords(strtolower($tekst_orginalny));
echo $ile_spacji_pokaz.$tekst_orginalny.$ile_enterow_pokaz;
}
// Tekst może być wpisany:
//
// - Pierwsza litera zdania jest duża - 'Nogawka jak wagon'
// - Każdy wyraz rozpoczyna się z dużych liter - 'Nogawka Jak Wagon'
// - Z dużych liter - 'NOGAWKA JAK WAGON'
// - Z małych liter - 'nogawka jak wagon'
//
// ale tekst wpisany i tak, będzie sformatowany, tak jak we wzorze podanym przez Ciebie :P
echo '<br /><h1>Wersja jaka była na początku podana w \'CODE\'</h1><br />';
// Wersja jaka była na początku podana w 'CODE'
// czyli napis, a pod spodem spacjami oddzielony palindrom
palindrom('Nogawka jak wagon', 10, 2, 0);
echo '<hr /><br />';
palindrom('Nogawka Jak Wagon', 10, 2, 0);
echo '<br /><hr /><br />';
palindrom('NOGAWKA JAK WAGON', 10, 2, 0);
echo '<br /><hr /><br />';
palindrom('nogawka jak wagon', 10, 2, 0);
echo '<br /><hr /><br />';
echo '<h1>Wersja jaka jest teraz w \'CODE\'</h1><br />';
// Wersja jaka jest teraz w 'CODE'
// czyli napis i palindrom oddzielony spacjami
palindrom('Nogawka jak wagon', 10, 1, 1);
echo '<br /><hr /><br />';
palindrom('Nogawka Jak Wagon', 10, 1, 1);
echo '<br /><hr /><br />';
palindrom('NOGAWKA JAK WAGON', 10, 1, 1);
echo '<br /><hr /><br />';
palindrom('nogawka jak wagon', 10, 1, 1);
echo '<br /><hr /><br />';
echo '<h1>Wersja \'MIX\'</h1><br />';
// Wersja 'MIX'
// czyli napis bez spacji, a palindrom oddzielony spacjami
palindrom('Nogawka jak wagon', 10, 1, 0);
echo '<br /><hr /><br />';
palindrom('Nogawka Jak Wagon', 10, 1, 0);
echo '<br /><hr /><br />';
palindrom('NOGAWKA JAK WAGON', 10, 1, 0);
echo '<br /><hr /><br />';
palindrom('nogawka jak wagon', 10, 1, 0);
?>
Pozdrawiam.
Edytowane przez Pieka dnia 28.04.2010 21:54:49
Wtyczki, panele, mod'y ... Pomoc - Przerabianie - Tworzenie :
-> pekemon.cba.pl <-
Jeśli Pomogłem kliknij "POMÓGŁ", będę wdzięczny
|