在CSS中用逗号替换逗号

时间:2014-06-14 19:47:57

标签: css css3

我们正在使用可从Web控制台前端访问的CRM数据库。从数据库中检索的合并字段之一是站点地址,它以逗号分隔的单行字符串返回,而不是用于邮寄地址的地址格式。

即代替:

  

45 Seafield Place
  FORT WILLIAM
  PH33 4XJ

...插入:

  

45 Seafield Place,FORT WILLIAM,PH33 4XJ

作为专有产品,我们无法访问Web服务器的配置或修改用于生成其中页面的PHP的功能。客户信函的模板是完全可自定义的,并且是简单的HTML,带有@media print CSS块,用于在直接从浏览器打印字母时控制样式(类似于Google Docs)。

由于我无法控制内容或使用JavaScript / JQuery来执行文本替换,CSS是否可以使用<br>标记替换类中的每个逗号?

1 个答案:

答案 0 :(得分:0)

不幸的是,实现这一目标的唯一方法是使用javascript。
由于您的服务器会从页面中删除所有javascript,因此您必须“欺骗”#39;它并添加它不会剥离的JavaScript。

我相信可以通过将您的javascript代码放入您的body元素的onload属性来完成,这样服务器就不会将其视为javascript,而只是一个属性,并且会将其保留为。

<body onload="var spans = document.querySelectorAll('span');spans[0].innerHTML=spans[0].innerHTML.replace(/,/g,'<br/>');">
    <span>
        45 Seafield Place, FORT WILLIAM, PH33 4XJ
    </span>

</body>

Live Example

<强>更新

您甚至可以在执行后自行删除javascript代码:

<body onload="var spans = document.querySelectorAll('span');spans[0].innerHTML=spans[0].innerHTML.replace(/,/g,'<br/>'); document.getElementsByTagName(
'body')[0].removeAttribute('onload');">
    <span>
        45 Seafield Place, FORT WILLIAM, PH33 4XJ
    </span>

</body>

2nd Example