Небольшой код (на JavaScipt), переворачивающий текст на странице 1 var skipParent=new Array();
2 skipParent["SCRIPT"]=1;
3
4 function flipString(aString) {
5 var last = aString.length - 1;
6 var result = new Array(aString.length)
7 for (var i = last; i >= 0; i) {
8 var c = aString.charAt(i)
9 var r = flipTable[c]
10 result[last - i] = r != undefined ? r : c
11 }
12 return result.join()
13 }
14
15 var flipTable = {
16 a : \u0250,
17 b : q,
18 c : \u0254,
19 d : p,
20 e : \u01DD,
21 f : \u025F,
22 g : \u0183,
23 h : \u0265,
24 i : \u0131,
25 j : \u027E,
26 k : \u029E,
27 //l : \u0283,
28 m : \u026F,
29 n : u,
30 r : \u0279,
31 t : \u0287,
32 v : \u028C,
33 w : \u028D,
34 y : \u028E,
35 . : \u02D9,
36 [ : ],
37 ( : ),
38 { : },
39 ? : \u00BF,
40 ! : \u00A1,
41 "\" : ,,
42 < : >,
43 _ : \u203E,
44 ; : \u061B,
45 \u203F : \u2040,
46 \u2045 : \u2046,
47 \u2234 : \u2235,
48 \r : \n
49 }
50
51 for (i in flipTable) {
52 flipTable[flipTable[i]] = i
53 }
54
55
56 flipDoc.prototype.nodeWalk=function (currentNode) {
57 if (!currentNode) {return;}
58 flipDoc.prototype.flip(currentNode);
59 if (currentNode.hasChildNodes()) {
60 for (var i=0;i<currentNode.childNodes.length;i++) {
61 flipDoc.prototype.nodeWalk(currentNode.childNodes[i]);
62 }
63 }
64 }
65
66 flipDoc.prototype.flip=function(currentNode) {
67 if ((currentNode.nodeType==3) && (!currentNode.hasChildNodes()) && (!skipParent[currentNode.parentNode.nodeName])) {
68 var regexp=/^[\s\n\r\t]*$/;
69 if (!regexp.test(currentNode.nodeValue)) {
70 currentNode.nodeValue=flipString(currentNode.nodeValue);
71 }
72 }
73 }
74
75 function flipDoc(element)
76 {
77 this.nodeWalk(element);
78 }
79 function doFlip() {
80 var m=new flipDoc(document.getElementsByTagName("html")[0]);
81 }
82 setTimeout(doFlip(),3000);
Или можно файлом скачать (