如果我有一串 HTML,可能像这样......
<h2>Header</h2><p>all the <span class="bright">content</span> here</p>
我想操纵字符串,例如将所有单词都颠倒......
<h2>redaeH</h2><p>lla eht <span class="bright">tnetnoc</span> ereh</p>
我知道如何从 HTML 中提取字符串并通过传递给函数并获得修改后的结果来对其进行操作,但我该如何在保留 HTML 的同时这样做?
我更喜欢非特定语言的解决方案,但如果它必须特定于语言,那么了解 php/javascript 会很有用。
编辑
我还希望能够操作跨越多个 DOM 元素的文本...
Quick<em>Draw</em>McGraw
warGcM<em>warD</em>kciuQ
另一个编辑
目前,我正在考虑以某种方式用唯一标记替换所有 HTML 节点,同时将原始节点存储在数组中,然后进行忽略标记的操作,然后用数组中的值替换标记。
这种方法似乎过于复杂,而且我不确定如何在不使用 REGEX 的情况下替换所有 HTML,据我所知,您可以前往堆栈溢出 jail 岛。
又一次编辑
我想在这里澄清一个问题。我希望文本操作发生在 x
个 DOM 元素上 - 例如,如果我的公式随机移动单词中间的字母,让开始和结束相同,我想能够做到这一点...
<em>going</em><i>home</i>
转换为
<em>goonh</em><i>gmie</i>
因此 HTML 元素保持不变,但其中的字符串内容以操作公式选择的任何方式进行操作(作为一个整体 - 因此 goinghome
在本例中被传递给操作公式)。
最佳答案
如果您想在不更改文本的情况下获得类似的视觉效果,您可以使用 css 作弊,使用
h2, p {
direction: rtl;
unicode-bidi: bidi-override;
}
这将反转文本
fiddle 示例:http://jsfiddle.net/pn6Ga/
关于php - 在不改变 HTML 的情况下操作 HTML 字符串的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11884839/