Witam. Proszę o pomoc w programie php. Wpisujemy tekst i po 3 wyrazie ma postawić przecinek a po piątym kropkę. Jak takie coś zrobić, pętla zapewne explode
Napisano 19 marca 2014 - 16:57
Jeżeli chcesz żeby to działało za pomocą pętli i explode to robisz to tak:
$text = "Lorem ipsum dolor sit amet consectetur adipiscing elit"; $words = explode(" ",$text); $new_text = ""; foreach($words as $k=>$w){ $new_text .= $w; if( $k == 2 ) $new_text .= ", "; elseif( $k == 4 ) $new_text .= ". "; else $new_text .= " "; } echo $new_text; //Lorem ipsum dolor, sit amet. consectetur adipiscing elit
Ale można to zrobić też za pomocą preg_replace:
$text = "Lorem ipsum dolor sit amet consectetur adipiscing elit"; $new_text = preg_replace("/^(([a-zA-Z0-9]+ ){3})(([a-zA-Z0-9]+ ){2})(.+)$/","$1, $3. $5",$text); echo $new_text;
webDeveloper
Napisano 19 marca 2014 - 17:57
Jeżeli chcesz żeby to działało za pomocą pętli i explode to robisz to tak:
$text = "Lorem ipsum dolor sit amet consectetur adipiscing elit"; $words = explode(" ",$text); $new_text = ""; foreach($words as $k=>$w){ $new_text .= $w; if( $k == 2 ) $new_text .= ", "; elseif( $k == 4 ) $new_text .= ". "; else $new_text .= " "; } echo $new_text; //Lorem ipsum dolor, sit amet. consectetur adipiscing elitAle można to zrobić też za pomocą preg_replace:
I działa to już o co prosiłem czy jak?
Napisano 19 marca 2014 - 18:49
I działa to już o co prosiłem czy jak?
A nie możesz sprawdzić? Chcesz zadanie domowe odesłać bez testowania?
Napisano 19 marca 2014 - 19:04
A nie możesz sprawdzić? Chcesz zadanie domowe odesłać bez testowania?
znaczy to uruchomiłem i jakieś dziwne znaki pokazało
Więc coś do poprawy jest bo chodzi o to że tekst wpisujesz
Napisano 19 marca 2014 - 19:16
znaczy to uruchomiłem i jakieś dziwne znaki pokazało
Więc coś do poprawy jest bo chodzi o to że tekst wpisujesz
Dostałeś dokładnie to, czego potrzebujesz.
Do zmiennej text na początku masz przypisany jakiś $text. Na koniec wyśweitlany jest ten tekst z Twoim przecinkiem i kropką...
musisz po prostu dorobić wpisywanie tekstu do zmiennej $text.
Napisano 19 marca 2014 - 19:19
znaczy to uruchomiłem i jakieś dziwne znaki pokazało
Więc coś do poprawy jest bo chodzi o to że tekst wpisujesz
Rozumiesz w ogóle co się dzieje w tym kodzie?
Napisano 19 marca 2014 - 21:12
nie
No to musisz poświęcić trochę czasu na naukę podstaw PHP. Nie rozwiązujemy tutaj prac domowych.
Napisano 20 marca 2014 - 09:00
W skrócie, podzieliliśmy cały tekst na słowa. później przelatujemy te słowa po kolei dodając do nowej zmiennej i jeżeli dane słowo jest 3 lub 5 z kolei (w kodzie 2 i 4 ponieważ indeksuje od 0) to po nim umieszczamy odpowiedni znak przecinek lub kropkę, a na koniec wyświetlamy nowy tekst.
webDeveloper
Również z jednym lub większą ilością słów kluczowych: php, program php, pomoc php
Użytkownicy przeglądający ten temat: 1
0 użytkowników, 1 gości, 0 anonimowych