您好我收到以下错误
Notice: Undefined offset: 1 in file.php on line 113
第113行是$ publish_content = $ matches2 [1];
这是我的代码
if(!preg_match('/\<content\:encoded\>(?:\<\!\[CDATA\[)?(.*?)(?:\]\]\>)?\<\/content\:encoded\>/si',$item,$matches2)){
for($i2=0;$i2<count($info_tag_pairs);$i2++){
if(preg_match('/'.custom_preg_quote($info_tag_pairs[$i2][0]).'(.*?)'.custom_preg_quote($info_tag_pairs[$i2][1]).'/si',$item,$matches2)){
break;
}
}
}
$publish_content=$matches2[1];
$publish_content=strip_tags($publish_content);
$publish_content=preg_replace('/'.arrayToString($rkws,'|','custom_preg_quote').'/si','',$publish_content);
$publish_content=trim($publish_content);
//echo $item;
if(!preg_match_all('/\<category\>(?:\<\!\[CDATA\[)?(.*?)(?:\]\]\>)?\<\/category\>/si',$item,$matches2)){
for($i2=0;$i2<count($category_tag_pairs);$i2++){
if(preg_match_all('/'.custom_preg_quote($category_tag_pairs[$i2][0]).'(.*?)'.custom_preg_quote($category_tag_pairs[$i2][1]).'/si',$item,$matches2)){
break;
}
}
}
答案 0 :(得分:0)
这意味着您的数组变量$matches1
不包含键1
。由于您正在访问$matches2[1]
,因此$matches2
为空或空或只有一个值,$matches2[1]
是无效的偏移量。
如果您的preg_match
操作符与$item
匹配,则可能会发生这种情况。
答案 1 :(得分:0)
一种避免php抛出这些通知的方法是测试是否在对值进行任何操作之前设置了值。
<?php
if (isset($matches2[1])) {
// do what you need with $matches2[1]
// ...
}
// or
if ( ! isset($matches2[1])) {
// here you are sure $matches2[1] doesn't exist
return;
}