我们正在使用可从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>
标记替换类中的每个逗号?
答案 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 强>