[Résolu] Unknown modifier '.' in /modules/fckeditor/fckeditor.module on line 299.

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour à tous,

Je reviens vers vous concernant un problème que je rencontre avec FCKEditor. J'installe donc fckeditor 5.x-1.1 sur Drupal 5.1, et à chaque fois que fckeditor est chargé, j'ai ce message d'erreur Drupal qui apparaît :

* warning: preg_match() [function.preg-match]: Unknown modifier  '.' in xxx/modules/fckeditor/fckeditor.module on line 299.
* warning: preg_match() [function.preg-match]: Unknown modifier '.' in xxx/modules/fckeditor/fckeditor.module on line 299.

J'ai essayé d'installer les versions en développement, cela ne m'aide pas (cela change juste le n° de la ligne en erreur. Je suis allé voir sur www.drupal.org, regardé dans les messages de bug, support, certaines personnes parlent de ce problème, mais aucune des solutions proposées fonctionne chez moi. Voici le code php présent à cette ligne dans fckeditor.module :

/**
* Search the field id for matches in array of matches
*
* @param $search
*   A string representing a form field id
* @ param $array
*   An $array with strings to match the $search parameter against
*
* @return
*   TRUE on match, FALSE on no match
*/
function fckeditor_idsearch($search, $array) {
  foreach ($array as $key => $value) {
    // LA LIGNE SUIVANTE EST CELLE EN CAUSE DANS LES MESSAGES D'ERREUR
    if (!empty($value) && preg_match('/^'.str_replace('*','.*',$value).'$/i', $search)) {
      // on any first match we know we're done here so return positive
      return true;
    }
  }
  return false;
}

Cela ne me dérangerait pas trop si ça ne faisait pas planter FireFox 2 fois sur 5.

Merci d'avance pour votre aide.

Version de Drupal : 

Je ne sais pas pourquoi, mais il y a une erreur à l'affichage de mon post. Le code est bon quand j'édite mais pas quand j'affiche. Il est donc écrit : str_replace(' * ', ' .* ', ...) (sans les espaces dans les chaînes de caractères.

Voilà ce que ça donne en rajoutant un preg_quote() sur $value : warning: preg_match() [function.preg-match]: Unknown modifier ' \ ' in /xxx/modules/fckeditor/fckeditor.module on line 299.

Désolé de pas utiliser la balise code, mais elle est pas très lisible chez moi. :/

Et bien bravo...
Plus de message d'erreur, plus de plantage intempestif, tout roule.
Pour résumer, si ça peut servir à quelqu'un.
Config :
Drupal 5.x
PHP 5.2.x (il y aurait des soucis avec ces version de php et preg_match : http://fr.php.net/manual/fr/function.preg-match.php#74726)
Fckeditor module v5.x-1.1

Dans le fichier fckeditor.module, ligne 299 (à l'origine), remplacer :
if (!empty($value) && preg_match('/^'.str_replace("",".",$value).'$/i', $search)) {
Par :
if (!empty($value) && preg_match('/^'.str_replace("*",".*",preg_quote($value, '/')).'$/i', $search)) {

Je ferais un feedback du bon fonctionnement de tout ceci.
Bien le merci (j'ai d'autres questions, mais ce sera pour d'autres posts).