如何用CSS删除文本中的破折号?

时间:2014-06-12 17:57:26

标签: css css3 text

在一个页面中,我有一些自动生成的文本:

爱德华-料斗大-宫

我想要的是删除破折号以通过CSS空格或空格重新划分它。 这可能吗?

感谢帮助

3 个答案:

答案 0 :(得分:1)

http://jsfiddle.net/WYGu3/

假设您有一个标记,例如:

<p id="text"> Edward-Hopper-Grand-Palais </p> 

然后,执行替换的最快方法是:

var str = document.getElementById("text").innerHTML;
str = str.replace(/-/g, ' ');
alert(str);

此处/g执行全局替换。

答案 1 :(得分:0)

我不知道如何使用CSS,但使用Javascript你可以做到这一点。

    <script type="text/javascript">
    function parseDisplay( result )
    {
        var displayedText = true;

        for (var x = 0; x < result.length; x++)
        {
            var c = result.charAt(x);

            if (c == '<')
            {
                displayedText = false;  
            }
            else if (c == '>')
            {
                displayedText = true;   
            }

            if (displayedText && c == '-')
            {   
                result = result.substring(0,x) + ' ' + result.substring(x + 1, result.length);
            }
        }

        return result;
    }
</script>

如果您将此结果用于ID或类,此功能会将所有内容保留在&#39;&lt; &GT;&#39;标签完全不受影响!生成它时,只需在显示它之前运行它!

答案 2 :(得分:0)

你不能用CSS做这些事情。连字符不构成元素,因此无法在CSS中引用它们。

理论上,您可以创建一个用空格代替连字符的字体,并通过@font-face使用该字体。但这会很尴尬,而且连字符只是看起来像空格一样(例如,复制内容并将其粘贴为纯文本会给你连字符,而不是空格)。

因此,您需要修改内容服务器端或客户端,如其他答案所示。