![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 16.06.2003 Ostrzeżenie: (0%) ![]() ![]() |
Problem wygląda tak:
- chciałbym by w poniższym kodzie zamiast $i pojawiały się kolejne cyfry - ale jakoś nie mam pomysłu jak to zrobić by działało szybko i sprawnie: Mam taki kod narazie: [php:1:261a14ab4c]<?php if(preg_match_all("#[ankieta](.+)[/ankieta]#s",$in,$matches)) { $trans_ankieta_array=array( "#[ankieta](.+)[/ankieta]#s"=>"<form action="index.php?d=forumankieta" method="post">1 <input type="submit" vaule="Wyœlij"></form>", "!- (.*)!U"=>"<input type="radio" name="vote_id" value="".$i."" />1 " ); $in2 = ereg_replace_multi($trans_ankieta_array, $matches[0][0]); $in=preg_replace("#[ankieta](.+)[/ankieta]#i",">1</form>",$in2); #echo "<h1> $in2 </h1>"; } ?>[/php:1:261a14ab4c] -------------------- Zakopane
|
|
|
![]()
Post
#2
|
|
![]() Vice-Administrator serwera Grupa: Przyjaciele php.pl Postów: 395 Pomógł: 0 Dołączył: 7.08.2003 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
Zamiast tego:
[php:1:053e08722a]<?php $trans_ankieta_array=array( "#[ankieta](.+)[/ankieta]#s"=>"<form action="index.php?d=forumankieta" method="post">1 <input type="submit" vaule="Wyœlij"></form>", "!- (.*)!U"=>"<input type="radio" name="vote_id" value="".$i."" />1 " ?>[/php:1:053e08722a] napisałbym coś takiego: [php:1:053e08722a]<?php $trans_ankieta_array=array( "#[ankieta](.+)[/ankieta]#s"=>"<form action="index.php?d=forumankieta" method="post">1 <input type="submit" vaule="Wyœlij"></form>"); //tu pętla dla $i dążącego do 30: while ($i<30) { $trans_ankieta_array=array("!- (.*)!U"=>"<input type="radio" name="vote_id" value="".$i."" />1 "); $i++; } ?>[/php:1:053e08722a] kodu nie testowałem ale wydaje mi się, że w ten sposób musisz to rozwiązać ... -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 16.06.2003 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki. Ładne i czytelne - ale chodziło mi o takie działanie jak poniżej:
[php:1:6afa43ddff]<?php if(preg_match_all("#[ankieta](.+)[/ankieta]#s",$in,$matchess)) { $in2=preg_replace("#[ankieta](.+)[/ankieta]#s", "<form action="index.php?d=forumankieta" method="post">1 <input type="submit" value="Wyœlij"></form>", $matchess[0][0]); $i=1; preg_match_all("!- (.*)!i",$in2,$matches); foreach($matches[0] as $inn) { $in2=ereg_replace($inn,ereg_replace("- ","<input type="radio" name="vote_id" value="".$i."" >",$inn),$in2); $i++; } $in=ereg_replace("[ankieta](.*)[/ankieta]",$in2,$in); } ?>[/php:1:6afa43ddff] Niby funkcja ta jest porpawna - ale nie dziąła najlepiej Może da się to jakoś zoptymalizować? -------------------- Zakopane
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarząd Postów: 2 277 Pomógł: 6 Dołączył: 27.12.2002 Skąd: Wołów/Wrocław ![]() |
A mógłbyś dokładnie przedstawić, co chcesz ociagnąć? To znaczy jak ma wygladać html przed i po operacji?
Bo choć wydaje mi się, że rozumiem, to jednak nie jestem pewien ![]() -------------------- "Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 16.06.2003 Ostrzeżenie: (0%) ![]() ![]() |
tekst przed operacją
[ankieta] to jest ankieta - wybór 1 - wybór 2 - wybór 3 ... - wybór n [/ankieta] tekst po operacji: Kod <form action="form.php" method="post">
<input type="radio" value="1"> <input type="radio" value="2"> <input type="radio" value="3"> .... <input type="radio" value="n"> <input type="submit" value="wyślij"> </form> -------------------- Zakopane
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 15.06.2025 - 06:56 |