Support phpbb ! Remplacer les caractères dans les titres !

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics


Ohax
WRInaute accro
WRInaute accro
 
Messages: 6392
Inscription: Lun Juil 05, 2004 13:30

Support phpbb ! Remplacer les caractères dans les titres !

Message le Dim Nov 13, 2005 16:05

Bonjour,

bon désolé je sait que ce n'est pas trop l'endroit mais j'aurait besoin d'un service :-)


il me faudrait un script qui me permette de remplacer les caractères

áâàäéêèëíîìïóôòöúûùüýçñ

dans le titre de mes post PHBB

par

aaaaeeeeiiiioooouuuuycn




La personne qui saura me faire ça assé rapidemment aura droit à un lien dans le footer des archives d'adojeunz : http://www.adojeunz.com/index.php3

C'est à dire quelques milliers de backlinks google :oops:


dmathieu
Modérateur
Modérateur
 
Messages: 6926
Inscription: Ven Jan 09, 2004 16:21

Message le Dim Nov 13, 2005 16:09

Code: Tout sélectionner
function formaturl($url) {
$in = array('á', 'â', 'à', 'ä', 'é', 'ê', 'è', 'ë', 'í', 'î', 'ì', 'ï', 'ó', 'ô', 'ò', 'ö', 'ú', 'û', 'ù', 'ü', 'ý', 'ç', 'ñ');

$out = array('a', 'a', 'a', 'a', 'e', 'e', 'e', 'e', 'i', 'i', 'i', 'i', 'o', 'o', 'o', 'o', 'u', 'u', 'u', 'u', 'y', 'c', 'n');

return str_replace($in, $out, $url);
}


vu la simplicité de la chose, je me passerai des liens ;)

rtb
WRInaute accro
WRInaute accro
 
Messages: 1055
Inscription: Dim Nov 14, 2004 11:56

Message le Dim Nov 13, 2005 16:14

function supprime_accents ($chaine) {
$a = "àáâãäåòóôõöøèéêëçìíîïùúûüÿñABCDEFGHIJKLMNOPQRSTUVWXYZ";
$b = "aaaaaaooooooeeeeciiiiuuuuynabcdefghijklmnopqrstuvwxyz";
return (strtr($chaine, $a, $b));
}

edit : Pas assez rapide ;-) j'ecris nettement moins vite ;-)


Ohax
WRInaute accro
WRInaute accro
 
Messages: 6392
Inscription: Lun Juil 05, 2004 13:30

Message le Dim Nov 13, 2005 16:16

Désolé je n'ai pas été assè précis

je voudrait faire ça directemment dans la base de donnée


Borower
WRInaute accro
WRInaute accro
 
Messages: 2151
Inscription: Lun Avr 18, 2005 20:58

Re: Support phpbb ! Remplacer les caractères dans les titres

Message le Dim Nov 13, 2005 16:21

Ohax a écrit:La personne qui saura me faire ça assé rapidemment aura droit à un lien dans le footer des archives d'adojeunz

C'est parce que la page marche pas que tu propose un lien sur celle ci :?: :wink:


dmathieu
Modérateur
Modérateur
 
Messages: 6926
Inscription: Ven Jan 09, 2004 16:21

Message le Dim Nov 13, 2005 16:22

Code: Tout sélectionner
$sql = "SELECT `identifiant`, `champ` FROM `table`;";
$query = mysql_query($sql) or die(mysql_error());

while ($fetch = mysql_fetch_array($query)) {
   $sql2 = "UPDATE `table`
   SET `champ` = '".formaturl($fetch['champ'])."'
   WHERE `identifiant` = '".$fetch['identifiant']."';";
   $query2 = mysql_query($sql2) or die(mysql_error());
   echo $fetch['champ'].' modifié<br />';
}


Ohax
WRInaute accro
WRInaute accro
 
Messages: 6392
Inscription: Lun Juil 05, 2004 13:30

Message le Dim Nov 13, 2005 16:23

Je suis en train de tester des solutions pour résoudre mon problème

depuis la mise à jour de phpbb il y a des problèmes d'url rewriting que je n'ai su résoudre


Ohax
WRInaute accro
WRInaute accro
 
Messages: 6392
Inscription: Lun Juil 05, 2004 13:30

Message le Dim Nov 13, 2005 16:24

KaZhaR a écrit:
Code: Tout sélectionner
$sql = "SELECT `identifiant`, `champ` FROM `table`;";
$query = mysql_query($sql) or die(mysql_error());

while ($fetch = mysql_fetch_array($query)) {
   $sql2 = "UPDATE `table`
   SET `champ` = '".formaturl($fetch['champ'])."'
   WHERE `identifiant` = '".$fetch['identifiant']."';";
   $query2 = mysql_query($sql2) or die(mysql_error());
   echo $fetch['champ'].' modifié<br />';
}


Concrêtemment ça donne quoi ? :lol:

Je suis un gros noob en matière de base de donnée


Borower
WRInaute accro
WRInaute accro
 
Messages: 2151
Inscription: Lun Avr 18, 2005 20:58

Message le Dim Nov 13, 2005 16:30

Ohax a écrit:
KaZhaR a écrit:
Code: Tout sélectionner
$sql = "SELECT `identifiant`, `champ` FROM `table`;";
$query = mysql_query($sql) or die(mysql_error());

while ($fetch = mysql_fetch_array($query)) {
   $sql2 = "UPDATE `table`
   SET `champ` = '".formaturl($fetch['champ'])."'
   WHERE `identifiant` = '".$fetch['identifiant']."';";
   $query2 = mysql_query($sql2) or die(mysql_error());
   echo $fetch['champ'].' modifié<br />';
}


Concrêtemment ça donne quoi ? :lol:

Je suis un gros noob en matière de base de donnée


Si j'ai bien compris faut que tu utilise la fonction formaturl donné dans le premier message.

$fetch['champ'] est la valeur $url

C'est tout ce que je peux te dire.


dmathieu
Modérateur
Modérateur
 
Messages: 6926
Inscription: Ven Jan 09, 2004 16:21

Message le Dim Nov 13, 2005 16:31

concretement, il faut que tu modifie les noms des champs, je ne connais pas les noms des tiens

mais, ca va parcourir toute ta base de données, et pour chaque entrée, ca va modifier le champ de ton choix, en y applicant la fonction formaturl donnée plus haut.


Ohax
WRInaute accro
WRInaute accro
 
Messages: 6392
Inscription: Lun Juil 05, 2004 13:30

Message le Dim Nov 13, 2005 16:31

Je croit que quelqu'un vous a devancé lol

http://www.fire-soft-board.com/fsb/suje ... 9275#39275


Ohax
WRInaute accro
WRInaute accro
 
Messages: 6392
Inscription: Lun Juil 05, 2004 13:30

Message le Dim Nov 13, 2005 18:46

Erfff ça n'a pas fonctionné


pourtant j'ai fait ceci :


Code: Tout sélectionner
<?

$hotebdd = "localhost"; $userbdd = "***"; $passbdd = "***"; $tablebdd = "***";
mysql_connect($hotebdd,$userbdd,$passbdd) or die("erreur de connexion au serveur ".$host.": ".mysql_error());
mysql_select_db($tablebdd) or die("erreur de connexion a la base de donnees: ".mysql_error());
$anciens = array('á', 'â', 'à', 'ä', 'é', 'ê', 'è', 'ë', 'í', 'î', 'ì', 'ï', 'ó', 'ô', 'ò', 'ö', 'ú', 'û', 'ù', 'ü', 'ý', 'ç', 'ñ');
$nouveau = array('a', 'a', 'a', 'a', 'e', 'e', 'e', 'e', 'i', 'i', 'i', 'i', 'o', 'o', 'o', 'o', 'u', 'u', 'u', 'u', 'y', 'c', 'n');
$resq = "SELECT post_id, post_subject FROM `phpbb_posts_text`";
$effectuer = mysql_query($resq);
while ($liste = mysql_fetch_row($effectuer)) {
  $nouvtitre = str_replace($anciens, $nouveau, $liste[1]);
  $resqcorr = "UPDATE `phpbb_posts_text` SET post_subject = '".$nouvtitre."' WHERE post_id = ".$liste[0]." LIMIT 1";
  $correction = mysql_query($resqcorr);
}
mysql_close();

?>



Le script a pourtant bien tourné,

j'ai fait un top sur le serveur pour vérifier l'état des ressources pendant l'execution et mysql tournait bien autour de 60%


Personne n'a d'idée ?

merci d'avance :D


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités