Hello,
une solution de plus si tu es dans Rails (je m'en sers dans Comatose):
module DiacriticsFu
def self.escape(str)
ActiveSupport::Multibyte::Handlers::UTF8Handler.normalize(str,:d).split(//
u).reject { |e| e.length > 1 }.join
end
end
la RSpec en bas de ce message si tu es intéressé!
Thibaut Barrère / LoGeek
--
http://blog.logeek.fr - learning content for developers
http://evolvingworker.com - tools for a better day
============= diacritics_fu_spec.rb =========================
require File.dirname(__FILE__) + '/../spec_helper'
require 'diacritics_fu'
describe "DiacriticsFu.escape" do
it "should remove the accents with grace" do
DiacriticsFu::escape("éphémère").should eql("ephemere")
DiacriticsFu::escape("éêèïîù").should eql("eeeiiu")
end
it "should work" do
DiacriticsFu::escape("räksmörgås").should eql("raksmorgas")
end
KNOWN_DIACRITICS = { "a" => "àäâ", "e" => "éèêë", "i" => "îï", "o"
=> "ôö", "u" => "üû", "c" => "ç",
"I" => "ÏÎ", "E" => "ÊË", "n" => "ñ", "O" =>
"ÔÖ", "Y" => "Ÿ", "y" => "ÿ", "N" => "Ñ" }
KNOWN_DIACRITICS.each do |expected_replacement,originals|
it "should transform any of '#{originals}' into
'#{expected_replacement}'" do
originals.split(//).each do |original|
DiacriticsFu.escape(original).should eql(expected_replacement)
end
end
end
end
--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse
[email protected]
Pour résilier votre abonnement envoyez un e-mail à l'adresse [EMAIL PROTECTED]
-~----------~----~----~----~------~----~------~--~---