#符号的HTML字符实体是什么?我四处寻找"磅"(不断返回货币),"哈希"和"数字",但我尝试的似乎并没有变成正确的角色.
问题说明了一切:)
例如.我们有>
,我们>
只需要使用javascript
更新:似乎jquery是一个简单的出路.但是,拥有轻量级解决方案会很不错.更像是一个能够自己完成这项任务的功能.
我正在尝试→
使用css 添加一个html实体(→)当链接悬停在以下css时:
#menu1 a:hover:after {
content: "→";
}
Run Code Online (Sandbox Code Playgroud)
但输出只是→
→而不是→.使用小数(8594)或实体(rarr)时会发生同样的问题.
如何在css中包含HTML实体?
CREATE OR REPLACE FUNCTION strip_tags(TEXT) RETURNS TEXT AS $$
SELECT regexp_replace(regexp_replace($1, E'(?x)<[^>]*?(\s alt \s* = \s* ([\'"]) ([^>]*?) \2) [^>]*? >', E'\3'), E'(?x)(< [^>]*? >)', '', 'g')
$$ LANGUAGE SQL;
Run Code Online (Sandbox Code Playgroud)
但它不会删除像以下的HTML代码:"
是否可以使用regexp_replace删除它们?
& Eacute ; \u00C9
& egrave ; \u00E8
& eacute ; \u00E9
& apos ; \u0027
Run Code Online (Sandbox Code Playgroud)
就像是:
f("'") = '\u0027' where f :: string -> char
g('\u0027') = "'" where g :: char -> string
Run Code Online (Sandbox Code Playgroud)
或者是否有第三方库具有BSD或MIT风格的许可免费许可证?否则我将不得不创建自己的映射,但它非常紧急,我不想错过可用的功能.
我有程序需要解析包含字符实体的XML.程序本身不需要解决它们,它们的列表很大并且会发生变化,所以如果可以的话,我想避免明确支持这些实体.
这是一个简单的例子:
<?xml version="1.0" encoding="UTF-8"?>
<xml>Hello there &something;</xml>
Run Code Online (Sandbox Code Playgroud)
是否存在可以在不解析(非标准)字符实体的情况下成功解析文档的Java XML API?理想情况下,它会将它们转换为可以特殊处理的特殊事件或对象,但我会选择一种可以默默抑制它们的选项.
答案和示例:
Skaffman给了我答案:使用IS_REPLACING_ENTITY_REFERENCES
设置为false 的StAX解析器.
这是我试图尝试的代码:
XMLInputFactory inputFactory = XMLInputFactory.newInstance();
inputFactory.setProperty(XMLInputFactory.IS_REPLACING_ENTITY_REFERENCES, false);
XMLEventReader reader = inputFactory.createXMLEventReader(
new FileInputStream("your file here"));
while (reader.hasNext()) {
XMLEvent event = reader.nextEvent();
if (event.isEntityReference()) {
EntityReference ref = (EntityReference) event;
System.out.println("Entity Reference: " + ref.getName());
}
}
Run Code Online (Sandbox Code Playgroud)
对于上面的XML,它将打印" Entity Reference: something
".
我正在使用SAX解析MathML表达式(尽管它的MathML可能并不完全相关).输入字符串的示例是
<math xmlns='http://www.w3.org/1998/Math/MathML'>
<mrow>
<mo>λ</mo>
</mrow>
</math>
Run Code Online (Sandbox Code Playgroud)
为了让SAX解析器接受这个字符串,我稍微扩展一下:
<?xml version="1.0"?>
<!DOCTYPE doc_type [
<!ENTITY nbsp " ">
<!ENTITY amp "&">
]>
<body>
<math xmlns='http://www.w3.org/1998/Math/MathML'>
<mrow>
<mo>λ</mo>
<mrow>
</math>
</body>
Run Code Online (Sandbox Code Playgroud)
现在,当我在此运行SAX解析器时,我得到一个异常:
[Fatal Error] :5:86: The entity "lambda" was referenced, but not declared.
org.xml.sax.SAXParseException: The entity "lambda" was referenced, but not
declared.
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
Run Code Online (Sandbox Code Playgroud)
但是,我知道如何解决这个问题.我只是将这一行添加到正在解析的字符串中:
<!ENTITY lambda "Λ">
Run Code Online (Sandbox Code Playgroud)
这给了我
<?xml version="1.0"?>
<!DOCTYPE doc_type [
<!ENTITY nbsp " ">
<!ENTITY amp "&">
<!ENTITY lambda "Λ">
]>
<body>
<math xmlns='http://www.w3.org/1998/Math/MathML'>
<mrow>
<mo>λ</mo>
<mrow>
</math>
</body> …
Run Code Online (Sandbox Code Playgroud) 我正在尝试将数据库中的值存储到HTML5 data
属性中.
由于这个答案,我可以逃脱它们,但我该怎么扭转呢?
管子周围有一百万个备忘单,列出了不同版本和规范的 HTML 指定的字符实体的不同理解级别。我不想相信他们中的任何一个,所以我想我会把它扔在这里,看看是否有人发布更权威的答案。
因此,让我们假设我想使用正则表达式匹配任何和所有字符引用和实体。我会从/&(?:#(?:x[0-9a-f]+|[0-9]+)|[a-z]{???,???});/i
. 但是什么会进入???
s 呢?我可以想到两个字符长的实体,例如lt
和gt
,但是在 HTML 的任何规范中是否有任何单字母实体?同样,最长的实体是什么?最后,除了直接输入它们之外,这些是在 HTML 中表达文字字符的仅有的三种语法,不是吗?
我有希腊网站,其中的所有帖子看起来都是这样的:
<p>Ο Μπόνους Γύρος Drunken Clam θα δείτε θα είναι σε θέση να κερδίζει όσο 1000Χ του συνολικού στοιχήματος επιλέγοντας είτε Cleveland, Peter, Quagmire, και</p>
Run Code Online (Sandbox Code Playgroud)
实际上它在页面上看起来像这样:
醉蛤 θα δείτε θα είναι σε θέσn να κερδίzeει όσο 1000Χ του συνολικού στοιχήματος επιλέγοντας είτ ε 克利夫兰、彼得、沼泽、και
我需要将 html 实体更改为实际符号(我正在使用 UTF-8 编码。)似乎 html_entity_decode() 不执行此操作。这里有任何库或类似的东西可以让我将文本转换为实际的符号吗?
PHP 版本 PHP 5.3.29
谢谢!
更新:抱歉,这是我可耻的错误。我在调试问题时弄乱了 mb_internal_encoding() 和 'default_charset' ini 指令。所以我只需将 html_entity_decode 工作的编码设置为第三个参数:
$decoded = html_entity_decode($str, ENT_COMPAT | ENT_HTML401, "UTF-8");
Run Code Online (Sandbox Code Playgroud)
正如夏洛特·杜努瓦所写。所以我将她的答案设置为正确。
php string character-entities html-entities string-conversion