2013-08-06 3 views
0

J'ai eu quelques demandes pour trouver les pages où la classe "X" est utilisée et essayé en utilisant la fonction de recherche incluse dans Drupal.Est-il possible de rechercher Drupal par HTML?

La recherche semble uniquement passer par le texte d'un nœud, et non par le code HTML du champ body.

Est-ce possible? Y at-il un module qui a ce genre de fonctionnalité? Ou ai-je à peu près besoin de faire un db_query sur le corps de tous les nœuds pour le trouver?

Un module ou une capacité de recherche de code HTML me ferait gagner du temps si vous en saviez. Les réponses D6 et D7 sont appréciées.

Merci!

Répondre

0

Vous ne pouvez pas trouver ce que vous cherchez en utilisant la recherche standard, car Drupal effectue une recherche par rapport au indexé contenu qui est nettoyé de la plupart des choses HTML. Vous pouvez le voir en action ici:

https://api.drupal.org/api/drupal/modules%21search%21search.module/function/search_index/6:

// Strip off all ignored tags to speed up processing, but insert space 
    // before/after them to keep word boundaries. 
    $text = str_replace(array('<', '>'), array(' <', '> '), $text); 
    $text = strip_tags($text, '<' . implode('><', array_keys($tags)) . '>'); 

Cela vaut à la fois Drupal 6 et 7.

Vous pouvez en savoir plus sur l'indexation ici: http://www.acquia.com/blog/drupal-search-how-indexing-works

En ce qui concerne la deuxième partie de votre question - Je n'ai pas trouvé de module personnalisé qui recherche du HTML, donc je pense que la meilleure option est d'écrire votre propre module et d'interroger les corps de tous les nœuds.

+0

Merci, c'est une réponse géniale mais tragique. –

Questions connexes