我正在尝试使用DOMDocument解析一些HTML,但是当我这样做时,我突然失去了编码(至少这对我来说是这样).
$profile = "<div><p>various japanese characters</p></div>";
$dom = new DOMDocument();
$dom->loadHTML($profile);
$divs = $dom->getElementsByTagName('div');
foreach ($divs as $div) {
echo $dom->saveHTML($div);
}
Run Code Online (Sandbox Code Playgroud)
这段代码的结果是我得到了一堆不是日语的字符.但是,如果我这样做:
echo $profile;
Run Code Online (Sandbox Code Playgroud)
它显示正确.我尝试过saveHTML和saveXML,但都没有正确显示.我使用的是PHP 5.3.
我所看到的:
ã¤ãªãã¤å·ã·ã«ã´ã«ã¦ãã¢ã¤ã«ã©ã³ãç³»ã®å®¶åºã«ã9人åå¼ã®5çªç®ã¨ãã¦çã¾ãããå½¼ãå«ãã¦4人ã俳åªã«ãªã£ããç¶è¦ªã¯æ¨æã®ã»ã¼ã«ã¹ãã³ã§ãæ¯è¦ªã¯éµä¾¿å±ã®å®¢å®¤ä¿ã ã£ãã髿 ¡æä»£ã¯ãã£ãã£ã®ã¢ã«ãã¤ãã«å¤ãã¿ãæè²è³éãåããªããã«ããªãã¯ç³»ã®é«æ ¡ã¸é²å¦ã
Run Code Online (Sandbox Code Playgroud)
应该展示什么:
???????????????????????9????5???????????????4???????????????????????????????????????????????????????????????????????????????
Run Code Online (Sandbox Code Playgroud)
编辑:我已将代码简化为五行,以便您自己测试.
$profile = "<div lang=ja><p>???????????????????????</p></div>";
$dom = new DOMDocument();
$dom->loadHTML($profile);
echo $dom->saveHTML();
echo $profile;
Run Code Online (Sandbox Code Playgroud)
这是返回的html:
<div lang="ja"><p>イリノイ州シカゴã«ã¦ã€ã‚¢ã‚¤ãƒ«ãƒ©ãƒ³ãƒ‰ç³»ã®å®¶åºã«ã€</p></div>
<div lang="ja"><p>???????????????????????</p></div>
Run Code Online (Sandbox Code Playgroud) 这是我到目前为止所拥有的:
var bestReason =
from p in successfulReasons
group p by p.Reason into g
select new { Excuse = g.Key, ExcuseCount = g.Count() };
Run Code Online (Sandbox Code Playgroud)
我现在需要做的是回归一个原因,这是最好的原因,在过去确定哪个是成功的.
样本数据:
ID,Reason
---------
0,Weather
1,Traffic
2,Illness
3,Weather
4,Traffic
5,Traffic
6,Pirates
Run Code Online (Sandbox Code Playgroud)
应该返回"交通"
如果可能的话,想在一个LINQ语句中完成所有操作.
谢谢.
编辑:如果有7次海盗袭击和7次交通事故,我可以返回任何一个(按字母顺序排在第一位).
给定一组16个字母和一个英文字典文件,需要找到一个解决方案,其中这16个字母可以放入4x4网格中,以便可以在每行和每列下读取有效字.
我目前的解决方案
1)获取可以用这些字母(anagram generator)制作的所有可能的4个字母单词的列表,并将它们分配给数组.
2)循环遍历每个单词,在每一行中尝试它,同时检查每个单词的正确数量是否被使用.
3)检查anagram数组中是否存在每列中创建的单词.
逻辑工作,但它已经运行了一个多小时,我在400多个字谜阵列的200字.有什么建议?
namespace GridWords
{
class Program
{
static void Main(string[] args)
{
string[] words = new string[] { "zoon", "zonk", "zone", "zona", "zoea", "zobo", "zero", "zerk", "zeal", "zack", "rore", "roon", "rook", "rood", "rone", "role", "roke", "roed", "rode", "rock", "roch", "robe", "roar", "roan", "road", "rhea", "rend", "redo", "reck", "rear", "rean", "real", "reak", "read", "raze", "rare", "rank", "rand", "rana", "rale", "rake", "rade", "rack", "rach", "race", "raca", "orzo", "orra", "orle", "ordo", "orca", "oral", "orad", "ooze", "oner", "once", …Run Code Online (Sandbox Code Playgroud)