编辑网站CMS设置时,有没有办法告诉CMS不清理输入?有问题的网站在首页上包含一个带有输入的号召性用语(CTA)。见图:
看到我在电子邮件和电话号码之间的换行符中添加了<br />
标记。这是因为结果是一个很长的CTA,我想把它分成两行。但是输出会忽略标记:
<div class="front-call-to-action">
<a class="front-button" href="mailto:myname@example.com" >
Tel: 123.456.7891 myname@example.com </a>
</div>
我知道我可以使用编辑器来硬编辑输出,但是想知道是否有某种特殊字符可以用来告诉CMS输出标记,而不是忽略它?
请注意,这与标准CMS后端不同,管理员可以输入文本,并可以使用文本输入中的“原始html”输入进行编辑。这涉及网站设置输入。
答案 0 :(得分:0)
我的答案就是 - 不要那样做。
有两个输入字段,一个用于电话号码,另一个用于电子邮件地址。以下是我通常在下面执行的操作,在这种情况下,我已经使用选项树作为选项,但是从选项中提取数据不是问题,而是你要做的事情;
<?php
$mainTel = ot_get_option('hq_tel_number');
$mainEmail = ot_get_option('hq_email');
$encodedEmailLink = encode_email('mailto:'. $mainEmail);
$encodedEmail = encode_email($mainEmail);
?>
<div class="grid_4">
<ul class="contact-info">
<li class="number"><a href="tel:<?php echo $mainTel; ?>"><?php echo $mainTel; ?></a></li>
<li class="email"><a href="<?php echo $encodedEmailLink; ?>"><?php echo $encodedEmail; ?></a></li>
</ul>
</div>
因此,它的分裂意味着我可以与智能手机上可用的电话号码形成链接,可以点击该号码进行呼叫。您可以使用不同且适当的方式设置它们的电子邮件和电子邮件地址,而不仅仅是将输出输出到屏幕上,并且至少使用函数中的函数进行混淆。使用函数.php
/* FUNCTION TO ASCII ENCODE EMAIL ADDRESSES ------------------------------------------------------------*/
function encode_email($e) {
for ($i = 0; $i < strlen($e); $i++) { $output .= '&#'.ord($e[$i]).';'; }
return $output;
}