我一直致力于一个小型项目,它将Skype日志格式化,使它们看起来不错。这很好,但我在路上遇到了一些令人讨厌的事情。
Here是一个很好的(有点淫秽)的例子。如您所见,htmlspecialchars()还将HTML字符代码转换为字符串(因为&
变为&
)。我想知道是否有办法让HTML实体仍然通过htmlspecialchars保留?
答案 0 :(得分:0)
如果它可以解决您的问题,您可以使用htmlentities(),否则将字符串存储在一个从函数返回的变量中,然后在打印该字符串时
{% block bottom_js %}
{{ block.super }}
<script src="https://checkout.stripe.com/v2/checkout.js"></script>
<script type="text/javascript">
$('#apply-coupon').on('click', function (e) {
$.ajax({
type: 'GET',
url: '{% url 'stripecoupon' %}',
data: { coupon_code : $('#discount-field').val() },
success: function(results){
$('#discount-field').val('');
if (results) {
$('#coupon-msg').html("Valid code.")
// Do something here to send results to StripeCheckout?
}
else {
$('#coupon-msg').html("Invalid code.")
}
}
});
});
$(function() {
$('body').on("click", '.djstripe-subscribe button[type=submit]', function(e) {
e.preventDefault();
// retrieve current $(".djstripe-subscribe")
var $form = $(e.target).parents('form'),
token = function(res) {
$form.find("input[name=stripe_token]").val(res.id);
$("button[type=submit]").attr("disabled", "true");
$('#in-progress').modal({"keyboard": false})
$('.progress-bar').animate({width:'+=100%'}, 2000);
$form.trigger("submit");
};
StripeCheckout.open({
key: '{{ STRIPE_PUBLIC_KEY }}',
email: '{{ user.email }}',
name: 'Premium Subscription',
description: 'Curated Monthly Content',
panelLabel: 'Subscribe',
// amount: whatever the coupon code's percent_off or amount_off is.
token: token,
// coupon: coupon
});
return false;
});
{% if PLAN_LIST|length > 1 %}
$('.djstripe-change-plan').click(function(e){
$("button[type=submit]").attr("disabled", "true");
$('#in-progress').modal({"keyboard": false})
$('.progress-bar').animate({width:'+=100%'}, 2000);
var $form = $(this);
$form.trigger("submit");
});
{% endif %}
});
</script>
{% endblock %}
答案 1 :(得分:0)
使用此功能:
$string=$_POST[pname];
function seoUrl($string) {
//Lower case everything
$string = strtolower($string);
$string = str_replace('&',' ',$string);
$string = preg_replace("/[^a-z0-9_\s-]/", "", $string);
$string = preg_replace("/[\s-]+/", " ", $string);
$string = preg_replace("/[\s_]/", "-", $string);
return $string;
}
$sclean=seoUrl($string);
您可以使用str_replace('&',' ',$string);
代替&
使用您要删除的字符 ...