PHP对于建括号字符过滤的问题

ggdw 2010-10-18 10:09:57
有几百条数据 类似
*Oct 18 09:46:09: %NFPP_IP_GUARD-4-DOS_DETECTED: Host<IP=60.12.174.45,MAC=N/A,port=Gi2/13,VLAN=N/A> was detected.(2010-10-18 9:46:9)
已经保持在数据库里面,结果运行一个查询页面后,显示的结果是只有

*Oct 18 09:46:09: %NFPP_IP_GUARD-4-DOS_DETECTED: Host was detected.(2010-10-18 9:46:9)


现在问题是怎么能够找到哪个过滤<>的函数??大家帮忙
...全文
273 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ggdw 2010-10-19
  • 打赏
  • 举报
回复
自己解决了。问题出在
 if (CISCO_TAG_PARSE ) {
$row['msg'] = preg_replace('/\s:/', ':', $row['msg']);
$row['msg'] = preg_replace('/.*(%.*?:.*)/', '$1', $row['msg']);
}


但我调试的时候把这几句都屏蔽了,还是出错,非常郁闷,后来想到一个笨办法,改成
  if (CISCO_TAG_PARSE ) 
{
$row['msg'] = preg_replace('/</', ' ', $row['msg']);
$row['msg'] = preg_replace('/>/', ' ', $row['msg']);
$row['msg'] = preg_replace('/\s:/', ':', $row['msg']);
$row['msg'] = preg_replace('/.*(%.*?:.*)/', '$1', $row['msg']);
}


居然成功了 ,把<> 替换成空格就好了
ggdw 2010-10-18
  • 打赏
  • 举报
回复
无效。。。
CunningBoy 2010-10-18
  • 打赏
  • 举报
回复
应该是下面这段做的:
	if (CISCO_TAG_PARSE ) {
$row['msg'] = preg_replace('/\s:/', ':', $row['msg']);
$row['msg'] = preg_replace('/.*(%.*?:.*)/', '$1', $row['msg']);
}
// CDUKES: 2009-06-18 - Added below to allow filtering on individual message pieces
if(defined('MSG_EXPLODE') && MSG_EXPLODE == TRUE) {
$explode_url = "";
$pieces = explode(" ", $row['msg']);
foreach($pieces as $value) {
// had to add rtrim below for cisco messages - when searching, the : was not returning any results
$explode_url .= " <a href=\"".$_SERVER["PHP_SELF"]."?msg1=".urlencode(rtrim($value,":")) . $ParamsGET."\"> ".$value." </a> ";
}
}

你加一些调试输出语句确认一下
ggdw 2010-10-18
  • 打赏
  • 举报
回复
<?php
//------------------------------------------------------------------------
// Output the table with the results
// Use an alternating background and color code the priority column
//------------------------------------------------------------------------
if(CEMDB == "ON") {
require_once 'includes/CEMDB.class.php';
$cemdb = new CEMDB($dbLink);
}

$color = "lighter";
$today = date('Y-m-d');
for($i=0; $i < count($result_array); $i++) {
$row = $result_array[$i];
if($color == "darker") {
$color = "lighter";
echo "<tr class=\"$color\" bgcolor=\"".LIGHT_COLOR."\">";
}
else {
$color = "darker";
echo "<tr class=\"$color\" bgcolor=\"".DARK_COLOR."\">";
}

// Checkboxes for export to Excel
echo "<td><input type='checkbox' name='dbid[]' value=".$row['id']."></td>";

// SEQ Field
if(defined('SEQ') && SEQ == TRUE) {
if (!preg_match("/\d+/", $row['seq'])) {
list($id) = split(':', $row['msg']);
if(is_numeric($id)) {
echo "<td>".$id."</td>";
} else {
echo "<td>N/A</td>";
}
} else {
echo "<td>".$row['seq']."</td>";
}
}

echo "<td><a href=\"".$_SERVER["PHP_SELF"]."?excludeHost=0&host[]=".$row['host']."&".$hostParamsGET."\">";
echo $row['host']."</a></td>";



echo "<td class=\"";
switch ($row['priority']) {
case 'debug':
echo 'sev0';
break;
case 'info':
echo 'sev1';
break;
case 'notice':
echo 'sev2';
break;
case 'warning':
echo 'sev3';
break;
case 'err':
echo 'sev4';
break;
case 'crit':
echo 'sev5';
break;
case 'alert':
echo 'sev6';
break;
case 'emerg':
echo 'sev7';
break;
}
echo "\"><a href=\"".$_SERVER['PHP_SELF']."?excludeFacility=0&facility[]=".$row['facility']."&".$facilityParamsGET."\">";
echo $row['facility']."</a></td>\n";

// echo "<td>".$row['fo']."</td>";
if(defined('SQZ_ENABLED') && SQZ_ENABLED == TRUE) {
$pieces = explode(' ', $row['fo']);
echo '<td>';
if ($pieces[0]!=$today) {
echo $pieces[0]." ";
}
echo $pieces[1];
echo "</td>\n";
// echo "<td>".$row['fo']."</td>";
$pieces = explode(' ', $row['lo']);
echo '<td>';
if ($pieces[0]!=$today) {
echo $pieces[0]." ";
}
echo $pieces[1];
echo "</td>\n";
// Counter row follows
echo "<td>".$row['counter']."</td>";
}
/* END: Switched by BPK to allow filtering based on facility */


/* BEGIN: Added by BPK to hide the date if it's the same as today
echo "<td>".$row['fo']."</td>";
*/
$pieces = explode(' ', $row['fo']);
echo '<td>';
if ($pieces[0]!=$today) {
echo $pieces[0]." ";
}
echo $pieces[1];
echo "</td>\n";
echo '<td>';
$program = htmlspecialchars($row['program']);
if (!empty($program)) {
$pattern = '/^'.addcslashes($program, '.()[]/\\').'/';
$replacement = '<a href="'.$_SERVER['PHP_SELF'].'?excludeProgram=0&program[]='.$program.'&'.$programParamsGET.'">'.$program.'</a>';
$program = preg_replace($pattern, $replacement, $program);
}
if($row['program'] == $id) {
$program = "Syslog";
}
echo $program;
echo "</td>\n";

if (CISCO_TAG_PARSE ) {
$row['msg'] = preg_replace('/\s:/', ':', $row['msg']);
$row['msg'] = preg_replace('/.*(%.*?:.*)/', '$1', $row['msg']);
}
// CDUKES: 2009-06-18 - Added below to allow filtering on individual message pieces
if(defined('MSG_EXPLODE') && MSG_EXPLODE == TRUE) {
$explode_url = "";
$pieces = explode(" ", $row['msg']);
foreach($pieces as $value) {
// had to add rtrim below for cisco messages - when searching, the : was not returning any results
$explode_url .= " <a href=\"".$_SERVER["PHP_SELF"]."?msg1=".urlencode(rtrim($value,":")) . $ParamsGET."\"> ".$value." </a> ";
}
}
// Original message:
// 3852752: DRP/0/0/CPU0:Feb 4 20:12:36.098 EST5: SSHD_[65697]: %SECURITY-SSHD-3-ERR_GENERAL: Failed to get DSA public key
// New message using regex above: .*(%.*?:.*):
// SSHD_[65697]: %SECURITY-SSHD-3-ERR_GENERAL: Failed to get DSA public key
if(CEMDB == "ON") {
$data = $cemdb->lookup($row['msg']);
}
// BPK - this is where the revised version begins
// CDUKES - BETA - FIX THIS
$printed = false;
if (CEMDB == "ON") {
$data = $cemdb->lookup($row['msg']);
if($data !== false) {
$info = "<b>Name:</b>" . $data[0];
$info .= "<br><b>Message:</b> " . $data[1];
$info .= "<br><b>Explanation:</b> " . $data[2];
$info .= "<br><b>Action:</b> " . $data[3];
$info .= "<br><b>Record last updated on:</b> " . $data[4];
$info = str_replace("\n", "", $info);
$info = htmlentities($info);
// CDUKES: 2009-06-18 - Changed below for MSG_EXPLODE mod
?>
<th align="left">
<?php
if(defined('MSG_EXPLODE') && MSG_EXPLODE == TRUE) {
?>
<A href="#" onmouseover="overlib('<TABLE border=1 cellspacing=0 cellpadding=0 width=100%><TR><TD class=tooltip><?php echo $info?></TD></TR></TABLE>');" onmouseout=nd(); name ="spacer" >
<?php
echo "[CEMDB] ";
echo "</A>$explode_url</td></th>\n";
} else {
?>
<A href="#" onmouseover="overlib('<TABLE border=1 cellspacing=0 cellpadding=0 width=100%><TR><TD class=tooltip><?php echo $info?></TD></TR></TABLE>');" onmouseout=nd(); name ="spacer" >
<?php
echo $row['$msg'];
?></A>
</th>
<?php

}
$printed = true;
}

}
// if CEMDB off or row wasn't found, print it
// this will prevent unnecessary popups and allow filtering via a link
if (!$printed) {
$msg = htmlspecialchars($row['msg']);
echo "<td>";
if ($row['count'] > 1) echo '<b>'.$row['count'].' *</b> ';
// CDUKES: 2009-06-18 - Changed below for MSG_EXPLODE mod
// echo "$msg</td>\n";
if(defined('MSG_EXPLODE') && MSG_EXPLODE == TRUE) {
echo "$explode_url</td>\n";
} else {
#$msg = preg_replace('/[\x00-\x1F\x80-\xFF]/', '', $msg); # <-moved filter to db_insert.pl
echo "$msg</td>\n";
}
}
echo "</tr>\n";
}
?>
<?php
echo "</FORM>\n";
echo "</table>\n";


这是代码,我试图屏蔽一些replace的命令,但好像不管用,
fxs_2008 2010-10-18
  • 打赏
  • 举报
回复
输出时正则替换掉,数据库里的不变
CunningBoy 2010-10-18
  • 打赏
  • 举报
回复
在查询语句后面找str_replace或者正则表达式之类的语句
heyli 2010-10-18
  • 打赏
  • 举报
回复
你输出结果的代码?
kyzy_yy_pm 2010-10-18
  • 打赏
  • 举报
回复
echo "<td><a href=\"".$_SERVER["PHP_SELF"]."?excludeHost=0&host[]=".$row['host']."&".$hostParamsGET."\">";
注意这里,并不是数据库中取出的数据直接就是楼主说的那种效果,而是取出的数据重新组合而来的,也就是说数据库中的数据并不是*Oct 18 09:46:09: %NFPP_IP_GUARD-4-DOS_DETECTED: Host<IP=60.12.174.45,MAC=N/A,port=Gi2/13,VLAN=N/A> was detected.(2010-10-18 9:46:9)这种形式的
简历-求职简历-word-文件-简历模版免费分享-应届生-高颜值简历模版-个人简历模版-简约大气-大学生在校生-求职-实习 简历是展示个人经历、技能和能力的重要文档,以下是一个常见的简历格式和内容模板,供您参考: 简历格式: 头部信息:包括姓名、联系方式(电话号码、电子邮件等)、地址等个人基本信息。 求职目标(可选):简短描述您的求职意向和目标。 教育背景:列出您的教育经历,包括学校名称、所学专业、就读时间等。 工作经验:按时间顺序列出您的工作经历,包括公司名称、职位、工作时间、工作职责和成就等。 技能和能力:列出您的专业技能、语言能力、计算机技能等与职位相关的能力。 实习经验/项目经验(可选):如果您有相关实习或项目经验,可以列出相关信息。 获奖和荣誉(可选):列出您在学术、工作或其他领域获得的奖项和荣誉。 自我评价(可选):简要描述您的个人特点、能力和职业目标。 兴趣爱好(可选):列出您的兴趣爱好,展示您的多样性和个人素质。 参考人(可选):如果您有可提供推荐的人员,可以在简历中提供其联系信息。 简历内容模板: 姓名: 联系方式: 地址: 求职目标: (简短描述您的求职意

21,881

社区成员

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

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