 |
Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Comunitatea PHP Romania
|
| Subiectul anterior :: Subiectul următor |
| Autor |
Mesaj |
mosu
Data înscrierii: 31/Iul/2006
Mesaje: 53
|
| Trimis: Vin Feb 08, 2008 12:30 pm Titlul subiectului: trebuie sa rezolv o problema generata de update phpBB2->3 |
|
|
salutare, manilor am o problema destul de grava dupa ce am upgradat de la versiunea 2 la versiunea 3.
Am facut upgradarea exact cand a aparut versiunea RC6 de la phpBB3, si versiunea aia avea o problema ca adauga la toate tagurile de forum [img][b] etc ceva gen ":345uyf" , deci mi`a stricat toate posturile care contineau taguri....
Ma gandeam sa fac un script php care sa se ia la rand fiecare post din tabela phpBB3_posts si sa cauge posturile care au taguri..tagurile le scriu eu intr-un vector ceva ..si cauta dupa " :********] " deci trebuie sa caute dupa un string care incepe cu ":" , dupaia are 8 litere, iar la sfarsit se incheie cu "]". Eh si daca gaseste sa inlocuiasca tot stringul asta cu : "]".Asta defapt e inchiderea tagului pe care am pus`o in cautare sa fie stringul de cautare cat mai exact ca sigur mai exista prin posts ":********"
Nu stiu o functie care sa faca asta!
Am puricat putin manualul PHP, am gasit 2 functii dar nu prea sunt ce am eu nevoie :|
substr_replace — Replace text within a portion of a string
substr — Return part of a string
Credeti ca este posibil sa fac ce vreau eu sau ma chinui degeaba??Daca da, dati`mi niste functii ceva pe care sa le folosesc, daca NU, va las sa va dati si voi cu parerea cum as putea repara asta...Vreau sa spun ca sunt peste 3000 de posts si nu am cum sa le iau la rand sa le repar eu :D
La versiunile mai noi de RC6 acest bug era rezolvat, dar pana a aparut RC7 userii mei au postat destul pe noul forum , si nu puteam sa dau totul innapoi :). |
|
| Sus |
|
mosu
Data înscrierii: 31/Iul/2006
Mesaje: 53
|
| Trimis: Sâm Feb 09, 2008 10:50 pm Titlul subiectului: |
|
|
ok, mi`am gasit ce`mi trebuie, am facut scriptul, am instalat forumul si pe calc, si am pus baza de date care o am si pe forumul original!
am rulat scriptul si a mers, mi`a corectat toate tagurile.
Cand l`am pus pe net, nu a mers, nu imi intra in bucla "While" deloc..trece direct peste:(
Cod: <?php
include("config.php");
$result=mysql_query("SELECT * FROM `phpbb3_posts`");
$contor = '1';
echo 'The script begins now to fix the bad tags';
while($myrow = mysql_fetch_array($result))
{
echo '</br>inca unul';
$before=$myrow['post_text'];
$after = ereg_replace(':........]', ']', $before);
mysql_query("UPDATE `phpbb3_posts` SET `post_text` = '".$after."' WHERE `post_id` = '".$myrow['post_id']."' LIMIT 1");
$contor = $contor + 1;
}
echo '</br>The script fixed all bad tags in your phpbb3_posts table, now your forum should be OK. If u think this script helped, just send me an email at chiulandoru@hotmail.com'
?> |
|
| Sus |
|
icsfails
Data înscrierii: 26/Mai/2002
Mesaje: 99
Locație: Timisoara
|
| Trimis: Sâm Feb 09, 2008 11:04 pm Titlul subiectului: |
|
|
Daca tot iti merge local, nu poti tu sa lasi forumul down 5 minute si sa pui pe server versiunea modificata? :lol:
Dupa ce iti rezolvi problema, o sa ai timp sa vezi si de ce nu a vrut :wink: |
|
| Sus |
|
PHPRomania Bot
Bot Member
Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google |
| Trimis: Mie Dec 26, 2007 7:01 pm Titlul subiectului: Ad |
|
|
|
|
|
| Sus |
|
| |
|