停止Wordpress(或任何CMS)清理输入

时间:2013-11-11 19:10:58

标签: html wordpress

编辑网站CMS设置时,有没有办法告诉CMS不清理输入?有问题的网站在首页上包含一个带有输入的号召性用语(CTA)。见图:

enter image description here

看到我在电子邮件和电话号码之间的换行符中添加了<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”输入进行编辑。这涉及网站设置输入。

1 个答案:

答案 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;
}