怎么删除php数组里面特定字符前面内容?
发布网友
发布时间:2022-04-06 01:09
我来回答
共1个回答
热心网友
时间:2022-04-06 02:39
这个一般就是使用正则表达式了,封装一个函数:
$str = "<p>百度一下你就知道<br /></p> <h2>方法:</h2> <p> ....... <br /> ........";
$str2 = "<p>希望对你有帮助方法:</h2> <p> ....... <br /> ........";
function my_replace($str){
$result = preg_replace("/(.*)(方法:.*)/", "\\2", $str);
return $result;
}
echo my_replace($str);
echo my_replace($str2);
方法:</h2> <p> ....... <br /> ........方法:</h2> <p> ....... <br /> ........
如有疑问请追问。
追问你写的我测试了没问题,但是我套用到我的代码愣是没效果,我的数组是二维的调用别人借口返回的json格式的数据,
$json=json_decode($html,true);
我就直接 echo my_replace($json["aa"]["bb"]),好像不行,我最终还要把处理过的数据重新赋值到这个位置,哪里不对啊?
追答
依然不是太清楚你的状况,猜测问题应该是访问$json处理不正确,请参考下面的代码,如有疑问,请追问:
function object_array($array) {
if(is_object($array)) {
$array = (array)$array;
} if(is_array($array)) {
foreach($array as $key=>$value) {
$array[$key] = object_array($value);
}
}
return $array;
}
$array = array("1"=>"A","2"=>"B","3"=>array("3-1"=>"C"));
$json = json_encode($array);
echo $json;
$array2 = json_decode($json);
echo "<pre>";
print_r($array2);
echo "</pre>";
//print_r($array2["3"]["3-1"]);//访问报错, Cannot use object of type stdClass as array
$array2 = object_array($array2);//object转换成数组后,可以正常处理。
print_r($array2["3"]["3-1"]);