GVKun编程网logo

php – 如何将其转换为htmlcharacters:“和”(php转换成html)

1

在这篇文章中,我们将带领您了解php–如何将其转换为htmlcharacters:“和”的全貌,包括php转换成html的相关情况。同时,我们还将为您介绍有关asp.net–如何格式化C#代码并将其转

在这篇文章中,我们将带领您了解php – 如何将其转换为htmlcharacters:“和”的全貌,包括php转换成html的相关情况。同时,我们还将为您介绍有关asp.net – 如何格式化C#代码并将其转换为HTML、HTML DOM characterSet 属性 HTML DOM characterSet 属性返回当前文档的字符编码集、Java 如何将 String 转换为 Iterable、php htmlentities和htmlspecialchars 的区别_php技巧的知识,以帮助您更好地理解这个主题。

本文目录一览:

php – 如何将其转换为htmlcharacters:“和”(php转换成html)

php – 如何将其转换为htmlcharacters:“和”(php转换成html)

我们有这些字符:

“和”

(这不是常规的“,而是某种卷曲的.不知道它叫什么)

当我们使用htmlentities()时,这些字符不会被转换,这会导致以后出现问题.进一步的问题是我们用Latin-1编码我们的页面,我们无法保存这个特定的字符(因此我们不能进行替换和查找,因为我们实际上无法将其编程到任何页面中).

注意:我们设置ENT_QUOTES,但这对htmlentities()没有影响.

UPDATE

我现在知道他们被称为花哨的引用,其中,他们适当的html实体是“和”.现在,问题是,为什么PHP不能正确转换这些字符?请参阅示例代码:

<?PHP
var_dump(htmlentities($_POST['t'],ENT_QUOTES));
?>
<form action="" method="post">
<input type="t" name="t" />
<buttontype="submit">Send</button>
</form>

结果:

解决方法:

使用htmlentities()它涵盖了具有等效html实体的所有字符.

htmlentities

UPDATE

你需要改变charset.

echo htmlentities(“”jrod“”,ENT_QUOTES,“Windows-1252”);

更新2

<?PHP
var_dump(htmlentities($_POST['t'],ENT_QUOTES, "Windows-1252"));
?>
<form action="" method="post">
<input type="t" name="t" />
<buttontype="submit">Send</button>
</form>

使用的字符串:“测试”

Var转储输出:字符串(21)“& ldquo; testing& rdquo;”

请注意,要查看html等效项,您必须查看源代码,因为浏览器会相应地呈现它们.

asp.net – 如何格式化C#代码并将其转换为HTML

asp.net – 如何格式化C#代码并将其转换为HTML

我正在使用具有FCK编辑器的CMS.它没有像Stack Overflow那样输入Code示例的选项.

我认为最简单的方法是使用外部编辑器,转换为HTML并使用CMS中的HTML来编辑内容.

有什么建议?

编辑:
@IAN – 它似乎不适合我.我尝试使用< pre> HTML视图和WYSISWG视图中的标记.
链接说我需要包含JS和css文件:

<link href="prettify.css" type="text/css" rel="stylesheet" />
<script type="text/javascript" src="prettify.js"></script>

FCK编辑器是否已包含此内容?

解决方法

两个最爱:

对于按需转换:http://www.manoli.net/csharpformat/

使用Javascript:http://code.google.com/p/syntaxhighlighter/在网页上进行即时转换

HTML DOM characterSet 属性 HTML DOM characterSet 属性返回当前文档的字符编码集

HTML DOM characterSet 属性 HTML DOM characterSet 属性返回当前文档的字符编码集

html dom characterset属性表示与元素的charset属性相关联的字符集。默认情况下,html文档的字符集为utf-8。

characterSet属性以字符串格式返回HTML文档的字符编码。用户可以使用HTML中的charset属性或DOM characterSet属性覆盖网页的默认字符集。

语法

characterSet属性的语法如下:

document.characterSet
登录后复制

Example

让我们来看一个HTML DOM characterSet属性的例子−

<!DOCTYPE html>
<html>
<body>
<p>Click the below button to know the encoding of this HTML document</p><p><span>立即学习</span>“<a href="https://pan.quark.cn/s/cb6835dc7db1"rel="nofollow" target="_blank">前端免费学习笔记(深入)</a>”;</p>
<button onclick="encode()">CHECK ENCODE</button>
<p id="Sample"></p>
<script>
   function encode() {
      var x = document.characterSet;
      document.getElementById("Sample").innerHTML = "The character encoding used is "+ x;
   }
</script>
</body>
</html>
登录后复制

输出

这将产生以下输出 −

HTML DOM characterSet 属性

HTML DOM characterSet 属性返回当前文档的字符编码集

点击CHECK ENCODE按钮 −

HTML DOM characterSet 属性

HTML DOM characterSet 属性返回当前文档的字符编码集

在上面的例子中 −

我们首先创建了一个按钮CHECK ENCODE,当用户点击时将执行encode()函数 −

<button onclick="encode()">CHECK ENCODE</button>
登录后复制

encode()方法将使用文档的characterSet属性获取文档的字符编码,并将其赋值给变量x。然后,使用paragraph元素的innerHTML()方法将编码显示在id为“Sample”的段落元素中,并将一些文本和附加的变量x分配给它 −

function encode() {
   var x = document.characterSet;
   document.getElementById("Sample").innerHTML = "The character encoding used is "+ x;
}
登录后复制

以上就是HTML DOM characterSet 属性 HTML DOM characterSet 属性返回当前文档的字符编码集的详细内容,更多请关注php中文网其它相关文章!

Java 如何将 String 转换为 Iterable<Character>

Java 如何将 String 转换为 Iterable

如何解决Java 如何将 String 转换为 Iterable<Character>?

我有一个存储字符串类型数据的类,可以根据字符串的长度( compareto() )进行比较,通过字符( iterator() )进行迭代。

我已经实现了 compareto 方法,但我不知道如何实现 iterator()

public class ExtendedString implements Comparable<ExtendedString>,Iterable<Character>{
    private String str;

    public ExtendedString(String str) {
        this.str = str;
    }

    public int compareto(ExtendedString estr) {...}

    public Iterator<Character> iterator() {
        ???
    }
}

我的问题是我应该如何实现 iterator()

解决方法

  1. 要将String转换为Character[],我们可以按照this answer
  2. 使用 Arrays#stream 方法将 Character[] 转换为 Stream<Character>,然后使用 BaseStream#iterator
@Override
public Iterator<Character> iterator() {
    return Arrays.stream(str.chars().mapToObj(c -> (char) c).toArray(Character[]::new)).iterator();
}

php htmlentities和htmlspecialchars 的区别_php技巧

php htmlentities和htmlspecialchars 的区别_php技巧

The translations performed are:

复制代码 代码如下:

''&'' (ampersand) becomes ''&''
''"'' (double quote) becomes ''"'' when ENT_NOQUOTES is not set.
'''''' (single quote) becomes '''''' only when ENT_QUOTES is set.
''''>'' (greater than) becomes ''>''

htmlspecialchars 只转化上面这几个html代码,而 htmlentities 却会转化所有的html代码,连同里面的它无法识别的中文字符也给转化了。

我们可以拿一个简单的例子来做比较:
复制代码 代码如下:

$str=''测试页面'';
echo htmlentities($str);
// ²âÊÔÒ³Ãæ

$str=''测试页面'';
echo htmlspecialchars($str);
// 测试页面

结论是,有中文的时候,最好用 htmlspecialchars ,否则可能乱码

另外参考一下这个自定义函数
复制代码 代码如下:

function my_excerpt( $html, $len ) {
// $html 应包含一个 HTML 文档。
// 本例将去掉 HTML 标记,javascript 代码
// 和空白字符。还会将一些通用的
// HTML 实体转换成相应的文本。
$search = array ("''<script>]*?>.*?</script>''si", // 去掉 javascript
"'']*?>''si", // 去掉 HTML 标记
"''([\r\n])[\s]+''", // 去掉空白字符
"''&(quot|#34);''i", // 替换 HTML 实体
"''&(amp|#38);''i",
"''&(lt|#60);''i",
"''&(gt|#62);''i",
"''&(nbsp|#160);''i",
"''&(iexcl|#161);''i",
"''&(cent|#162);''i",
"''&(pound|#163);''i",
"''&(copy|#169);''i",
"''(\d+);''e"); // 作为 PHP 代码运行
$replace = array ("",
"",
"\\1",
"\"",
"&",
"">",
" ",
chr(161),
chr(162),
chr(163),
chr(169),
"chr(\\1)");
$text = preg_replace ($search, $replace, $html);
$text = trim($text);
return mb_strlen($text) >= $len ? mb_substr($text, 0, $len) : '''';
}

htmlspecialchar()函数和htmlentities()函数类似都是把html代码转换,htmlspecialchars_decode是把转化的html的编码转换成转换回来。

我们可以拿一个简单的例子来做比较:
复制代码 代码如下:

$str=''测试'';
$transstr = htmlspecialchars($str) ;
echo $transstr . "
";
echo htmlspecialchars_decode($transstr)";

运行上面的代码,就可以看出两者的差别了。

一直都知道 PHP 中的 htmlentities 和 htmlspecialchars 函数都能把 html 中的特殊字符转换成对应的 character entity (不知道怎么翻译),也一直都知道 htmlentities 和 htmlspecialchars 函数有区别,但是一直都用不到这两个函数,也就没去研究过到底有什么区别。


今天用到了,懒得看 PHP 手册里的鸟语,觉得这种问题应该会有人用中文写过,于是 Google 关键词“htmlentities htmlspecialchars”,答案千篇一律。我已经司空见惯了,复制粘贴连小学生都会。经过对比发现,每篇文章大概都包含两部分:

第一部分是引用 PHP 手册的说明:

PHP 手册中对 htmlspecialchars 写道:

The translations performed are:
复制代码 代码如下:

‘&'' (ampersand) becomes ‘&''
‘"'' (double quote) becomes ‘"'' when ENT_NOQUOTES is not set.
”'' (single quote) becomes ‘'''' only when ENT_QUOTES is set.
‘‘>'' (greater than) becomes ‘>''

这部分无可厚非,但是第二部分的解释却并不怎么正确:

htmlspecialchars 只转化上面这几个html代码,而 htmlentities 却会转化所有的html代码,连同里面的它无法识别的中文字符也给转化了。

我们可以拿一个简单的例子来做比较:
复制代码 代码如下:

$str=''测试页面'';
echo htmlentities($str);

// ²âÊÔÒ³Ãæ

$str=''测试页面'';
echo htmlspecialchars($str);
// 测试页面

?>

结论是,有中文的时候,最好用 htmlspecialchars ,否则可能乱码。

难道 htmlentities 函数只有一个参数吗?当然不是!htmlentities 还有三个可选参数,分别是 $quote_style、 $charset、 $double_encode,手册对 $charset 参数是这样描述的:

Defines character set used in conversion. The default character set is ISO-8859-1.

从上面程序输出的结果判断,$str 是 GB2312 编码的,“测试页面”几个字对应的十六进制值是:

B2 E2 CA D4 D2 B3 C3 E6

然而却被当成 ISO-8859-1 编码来解析:

²âÊÔÒ³Ãæ

正好对应 HTML character entity 里的:

²âÊÔÒ³Ãæ

当然会被 htmlentities 转义掉,但是只要加上正确的编码作为参数,根本就不会出现所谓的中文乱码问题:

$str=''测试页面'';

echo htmlentities($str, ENT_COMPAT, ''gb2312'');
// 测试页面三人成虎,以讹传讹。

结论:htmlentities 和 htmlspecialchars 的区别在于 htmlentities 会转化所有的 html character entity,而htmlspecialchars 只会转化手册上列出的几个 html character entity (也就是会影响 html 解析的那几个基本字符)。一般来说,使用 htmlspecialchars 转化掉基本字符就已经足够了,没有必要使用 htmlentities。实在要使用 htmlentities 时,要注意为第三个参数传递正确的编码。

今天的关于php – 如何将其转换为htmlcharacters:“和”php转换成html的分享已经结束,谢谢您的关注,如果想了解更多关于asp.net – 如何格式化C#代码并将其转换为HTML、HTML DOM characterSet 属性 HTML DOM characterSet 属性返回当前文档的字符编码集、Java 如何将 String 转换为 Iterable、php htmlentities和htmlspecialchars 的区别_php技巧的相关知识,请在本站进行查询。

本文标签: