唠叨老大还在么?XML解析出错求助,5555

countstars 2007-06-25 02:41:51
<?xml version="1.0" encoding="gb18030" ?>
<xml>咔咓吚.</xml>

怎么确保标签中的字符符合XML?要做什么处理?
真的很难确保XML文档准确性,让它能够让PHP的XML解析函数解析
有没有正则之类的XML解析器。
我只想解析这个文档,如何去掉/转意这些字符?这些字符都包括什么字符?

谢谢
...全文
612 27 打赏 收藏 转发到动态 举报
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
1024*1024 2011-11-24
  • 打赏
  • 举报
回复
[\\x00-\\x08\\x0b-\\x0c\\x0e-\\x1f] 我就是想知道这些都是什么特殊字符
hejunbin 2007-09-21
  • 打赏
  • 举报
回复
标记
bcc1o 2007-09-21
  • 打赏
  • 举报
回复
。。是LZ
bcc1o 2007-09-21
  • 打赏
  • 举报
回复
我靠 怎么发现这里最少的都是两个裤子 除了我

咔咓吚 LS啊 你怎么用日本语言呢 真是
fxs_2008 2007-09-21
  • 打赏
  • 举报
回复
学习学习!
countstars 2007-09-20
  • 打赏
  • 举报
回复
php 的 xml 解析函数不能解析非utf-8编码的宽字符文档
需要自行编程解决,记得我发过一个的

------------
就是想看你那个,再拿出来晒晒吧-___-!!!
懒得去死 2007-09-19
  • 打赏
  • 举报
回复
记得以前我用GB2312的 。结果和其他做CS的同事搞了一天,最后放弃了。改了UTF-8
bcc1o 2007-09-19
  • 打赏
  • 举报
回复
我都是gb2312
xuzuning 2007-09-19
  • 打赏
  • 举报
回复
php 的 xml 解析函数不能解析非utf-8编码的宽字符文档
需要自行编程解决,记得我发过一个的
countstars 2007-09-19
  • 打赏
  • 举报
回复
XML实在是恶心,真不知道怎么办才好
Mistruster 2007-07-02
  • 打赏
  • 举报
回复
那你就把
chr(7) 转成
chr(8) 转成
chr(9) 转成
chr(10) 转成
... ...
countstars 2007-07-01
  • 打赏
  • 举报
回复
嗯,你这样处理或许不错,不过把非法字符过滤掉了,那就不能保证原样显示,就像CSDN一样,有时候还是很不方便的,很难提供原始数据。
Mistruster 2007-07-01
  • 打赏
  • 举报
回复
呵呵,我一般这样:

function SBC_DBC($Str)
{
//---- 全角都转成半角 ----
$Queue = Array(
'0' => '0', '1' => '1', '2' => '2', '3' => '3', '4' => '4',
'5' => '5', '6' => '6', '7' => '7', '8' => '8', '9' => '9',
'A' => 'A', 'B' => 'B', 'C' => 'C', 'D' => 'D', 'E' => 'E',
'F' => 'F', 'G' => 'G', 'H' => 'H', 'I' => 'I', 'J' => 'J',
'K' => 'K', 'L' => 'L', 'M' => 'M', 'N' => 'N', 'O' => 'O',
'P' => 'P', 'Q' => 'Q', 'R' => 'R', 'S' => 'S', 'T' => 'T',
'U' => 'U', 'V' => 'V', 'W' => 'W', 'X' => 'X', 'Y' => 'Y',
'Z' => 'Z', 'a' => 'a', 'b' => 'b', 'c' => 'c', 'd' => 'd',
'e' => 'e', 'f' => 'f', 'g' => 'g', 'h' => 'h', 'i' => 'i',
'j' => 'j', 'k' => 'k', 'l' => 'l', 'm' => 'm', 'n' => 'n',
'o' => 'o', 'p' => 'p', 'q' => 'q', 'r' => 'r', 's' => 's',
't' => 't', 'u' => 'u', 'v' => 'v', 'w' => 'w', 'x' => 'x',
'y' => 'y', 'z' => 'z', '-' => '-', '!' => '!', '。' => '.',
',' => ',', '%' => '%', '、' => ',', '#' => '#', '¥' => '$',
'*' => '*', '(' => '(', ')' => ')', '|' => '|', '+' => '+',
'[' => '[', ']' => ']', '{' => '{', '}' => '}', '~' => '~',
':' => ':', ';' => ';', '/' => '/', '?' => '?', '—' => '-',
'“' => '"', '”' => '"', '‘' => "'", '’' => "'", '·' => '.'
);
$Str = preg_replace("/([\xA3][\xA1-\xAF\xB0-\xBF\xC1-\xDA\xE1-\xFC])/e", "\$Queue[\\1]", $Str);
$Str = preg_replace("/([\xA1][\xA1-\xAF\xB0-\xB9])/e", "\$Queue[\\1]", $Str);
return($Str);
}
function replace_xml($str)
{
//---- XML 非法字符过滤 ----
$str = SBC_DBC($str);
$str = preg_replace("/[\\x00-\\x08\\x0b-\\x0c\\x0e-\\x1f]/", '', $str);
$str = preg_replace("/[\r\n]+/", "\n", $str);
$str = preg_replace("/[ \t]+/", " ", $str);
$str = trim($str);
$str = htmlspecialchars($str);
return $str;
}


//... ...
$str = "... ...";
$str = replace_xml($str);
//... ...
Mistruster 2007-07-01
  • 打赏
  • 举报
回复
上面弄错了
htmlspecialchars 应该先转码再放到 <xml></xml> 里的
Mistruster 2007-07-01
  • 打赏
  • 举报
回复
$str = "<xml>咔咓吚.</xml>";
//.....
$str = preg_replace("/[\\x00-\\x08\\x0b-\\x0c\\x0e-\\x1f]/", '', $str);
$str = htmlspecialchars($str);
countstars 2007-07-01
  • 打赏
  • 举报
回复
我不知道CSDN贴子显示里,是如何找到那个字符并把它去掉的
countstars 2007-07-01
  • 打赏
  • 举报
回复
其中一个字符ord后是7,所以没办法直接发,只能先编码,所以你们一定要用那段。。。
countstars 2007-07-01
  • 打赏
  • 举报
回复
先把我哪段代码,转意后,存为XML文档,用IE打开,看看错误信息,再讨论,CDATA没用的
mrshelly 2007-07-01
  • 打赏
  • 举报
回复
jom_ch 就回答到点上了.
只是CSDN自动把 "<" 转为 "<" 了.

<?xml version="1.0" encoding="gb18030" ?>
<xml><![CDATA[咔咓吚</test>.]]></xml>
countstars 2007-07-01
  • 打赏
  • 举报
回复
你们先把那段encode后的编码decode后用PHP解析函数解析看看,再说问题吧
加载更多回复(7)
源码链接: https://pan.quark.cn/s/d5c270d5abd6 依据所提供的文档资料,可以掌握若干有关VirtualBox COM对象获取无法成功的问题及其应对措施。 VirtualBox作为一款广受欢迎的开源虚拟化工具,能够让用户在当前运行的操作系统上建立及执行虚拟环境。 COM(Component Object Model)对象是应用于Windows平台的一种技术,旨在促成软件组件之间的交互。 若获取VirtualBox的COM对象遭遇失败,则意味着在与VirtualBox进行交互时遇到了某些障碍,这或许源于注册表设置存在偏差或某些组件未能正确部署。 此类问题的显现通常与安装Genymotion前需先安装VirtualBox有关,但在安装VirtualBox后却遭遇COM对象获取失败的情形。 这种情况可能会干扰VirtualBox的正常运作,使用户无法进行虚拟机的管理或构建。 解决方案包括若干步骤,其核心在于对Windows注册表的编辑操作。 注册表是Windows操作系统用于存储配置数据的数据库,其中包含了系统软件与硬件的配置详情,亦涵盖了COM对象的相关信息。 一旦COM对象的注册资料出现异常,系统便无法准确加载及执行相应的组件。 根据文件所载信息,处理方案包含以下环节:1. 在Windows环境中通过“regedit”指令启动注册表编辑器。 此步骤涉及在开始菜单的运行窗口中键入指令并执行。 2. 随后,依照文件中的指引,需要在注册数据库中定位特定的键值路径。 这些路径涵盖: - HKEY_CLASSES_ROOT\CLSID\{***-0000-0000-C000-***}\InprocServer32 - HKEY_CLASSES_ROOT\CLSID...
内容概要:本文介绍了一种基于局部高斯分布拟合能量驱动的活动轮廓模型,用于图像分割任务。该方法属于区域型主动轮廓模型,通过变分水平集方法实现轮廓演化,能够有效分割具有复杂边界或弱边界的图像目标。其核心思想是利用图像局部区域的灰度统计特性,构建基于高斯分布的能量函数,使轮廓在演化过程中对噪声具有较强鲁棒性,并能准确捕捉目标边缘。该模型特别适用于不均匀光照、低对比度等挑战性图像的分割场景,Matlab代码实现便于科研人员理解算法细节并进行二次开发。; 适合人群:具备一定图像处理基础,从事计算机视觉、医学图像分析、遥感影像处理等领域的研究生、科研人员及工程技术人员。; 使用场景及目标:①解决传统边缘检测方法在噪声干扰下分割效果差的问题;②实现对灰度不均、边界模糊图像的精确分割;③为后续的图像识别、目标测量等任务提供高质量的分割结果;④作为学习水平集方法与主动轮廓模型的经典案例进行教学与研究。; 阅读建议:建议读者结合Matlab代码逐步调试运行,观察水平集函数的演化过程,深入理解能量泛函构造、梯度下降法求解及水平集更新机制,同时可尝试在不同类型的图像上测试算法性能并进行参数调优。

21,891

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧