我有一个字符串90001 90002
。我需要看看在空白区域中表示哪个html特殊字符。 (它可能是一个空的空间 -
或者它可能是伪装成HTML see here中的空格的文本换行符。也许我不知道的其他可能性......)< / p>
我想回显一个字符串并将空格显示为html char(例如$result = "90001 90002"
)。
我已尝试使用html_entities,但这并不包含空格。 htmlspecialchars也没有。 我该怎么做呢? 如果可能的话,我想要一个纯粹的PHP&amp; HTML解决方案。如有必要 - CSS。如果不可能,javascript将不得不做..
答案 0 :(得分:3)
只是一个开箱即用的想法。我遇到了同样的问题但是考虑使用JavaScript的encodeURIComponent()
函数:
$(function () {
$("div").html(function () {
return encodeURIComponent($(this).html());
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>90001 90002</div>
使用jQuery,因为我有点懒。你可以用这种方式在JavaScript中做同样的事情:
<div>90001 90002</div>
<script>
var div = document.querySelector("div");
div.innerHTML = encodeURIComponent(div.innerHTML);
</script>
让您知道在客户端处理比在服务器端处理更好。
更新2:获取HTML内容并更新HTML文本:
$(function () {
$("div").text(function () {
return $(this).html().replace(/[\u00A0-\u9999<>\&]/gim, function(i) {
return '&#'+i.charCodeAt(0)+';';
});
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>90001—90002</div>
像这样......
答案 1 :(得分:-1)
i
我希望有所帮助
答案 2 :(得分:-2)
function removeWhiteSpace($text)
{
$text = preg_replace('/[\t\n\r\0\x0B]/', '', $text);
$text = preg_replace('/([\s])\1+/', ' ', $text);
$text = trim($text);
return $text;
}
答案 3 :(得分:-3)
编辑答案:
如果您需要使用PHP,请使用urlencode函数,这将解析它
<?php
$query_string = 'foo=' . urlencode($foo) . '&bar=' . urlencode($bar);
echo '<a href="mycgi?' . htmlentities($query_string) . '">';
?>
但是他们已经退回了文档的注释部分中提到的内容。 http://php.net/manual/en/function.urlencode.php
您还可以在php中使用htmlentities,rawurlencode等函数。
如果你想在javascript中使用它,你可以使用转义功能。 https://www.w3schools.com/jsref/jsref_escape.asp