㈠ php屏蔽一段HTML代码
<?php& `8 ^, }, E' j/ W' j
function StripHTML($string){. \, V/ t+ d8 o
$pattern=array ("'<script[^>]*?>.*?</script>'si", "'<style[^>]*?>.*?</style>'si", "'<[/!]*?[^<>]*?>'si", "'([
])[s]+'", "'&(quot|#34);'i", "'&(amp|#38);'i", "'&(lt|#60);'i", "'&(gt|#62);'i", "'&(nbsp|#160);'i", "'&(iexcl|#161);'i", "'&(cent|#162);'i", "'&(pound|#163);'i", "'&(|#169);'i", "'(d+);'e");
$replace=array ("", "", "\1", "", "&", "<", ">", " ", chr(161), chr(162), chr(163), chr(169), "chr(\1)");7 f: V6 a$ D! s: q
return preg_replace ($pattern, $replace, $str);
}
" e/ P+ M# ]0 O9 R0 q
?>
利用strip_tags()就可以把html标签去除掉
<?php
$str = '<a href="http://harryxu.cn">harryxu</a>'; E' y! t( K6 m' |9 \
echo(htmlspecialchars($str) . '<br />');/ `" _* h" r# x5 i" \1 C
echo(strip_tags($str));
. P. t! i7 I5 D+ X% o
// output:
// <a href="http://harryxu.nc">harryxu</a> Y' T) V' y$ t- z: d% }! h
// harryxu
?>
去除所有js,html,css代码
$search = array ("'<script[^>]*?>.*?</script>'si", // 去掉 javascript
"'<style[^>]*?>.*?</style>'si", // 去掉 css
"'<[/!]*?[^<>]*?>'si", // 去掉 HTML 标记
"'<!--[/!]*?[^<>]*?>'si", // 去掉 注释标记# m# g3 V9 F- U! `8 O4 l, [
"'([rn])[s]+'", // 去掉空白字符3 p$ c& X7 x- y7 Q
"'&(quot|#34);'i", // 替换 HTML 实体+ E. t- E, L% u# ?( W
"'&(amp|#38);'i",0 D; g# s' Z" v" L
"'&(lt|#60);'i",
"'&(gt|#62);'i",
"'&(nbsp|#160);'i",
"'&(iexcl|#161);'i",# N* E! |7 }( y" p O1 O/ E
"'&(cent|#162);'i",2 T: J; m) a3 r
"'&(pound|#163);'i",8 E4 a: R4 B Z# V! \
"'&(|#169);'i",
"'(d+);'e"); // 作为 PHP 代码运行
$replace = array ("",
"",
"",
"",1 `1 Z0 I' x3 n$ }1 Q' ?+ K
"1",! N) R x7 [/ ^6 E6 O3 l
""",
"&",
"<",. c2 t3 T! L+ l* p. d) x# Q# @
">",
" ",
chr(161),) i' y# E& k1 I
chr(162),( h3 q/ C3 X5 [: O7 ~9 z4 s0 ?
chr(163),' g+ P! A. A% M( R
chr(169),
"chr(1)");
//$document为需要处理字符串,如果来源为文件可以$document = file_get_contents($filename);
$out = preg_replace($search, $replace, $document);
㈡ php 判断字符串数字
有两种方法
第一种:直接使用一个函数, is_numeric() 这个函数就是检测参数是否为数字,如果是就返回true,如果不是就返回false,比如:
1
2
<?php
is_numeric( 'abcd123' ) or die('提供的参数不是数字');
第二种:使用正则表达式匹配,匹配成功就是数字,返回true,匹配不成功就不是数字,返回false
比如:
1
2
<?php
<a href="https://www..com/s?wd=preg_match&tn=44039180_cpr&fenlei=-_5y9YIZ0lQzqlpA-" target="_blank" class="-highlight">preg_match</a>('/^\d+$/i', 'abcd123') or die('提供的数据不是数字');
㈢ thinkphp 循环数组
用两次foreach可以实现你要的结果:
实现:
$id=array('1','2','3','4','5','6','7');
$ae=array('20','12','31','55','21','68','78');
上面是你的数据,你要的结果是这样吗?
//组装后的数组:
array(7){
[0]=>array(1){
[1]=>string(2)"20"
}
[1]=>array(1){
[2]=>string(2)"12"
}
[2]=>array(1){
[3]=>string(2)"31"
}
[3]=>array(1){
[4]=>string(2)"55"
}
[4]=>array(1){
[5]=>string(2)"21"
}
[5]=>array(1){
[6]=>string(2)"68"
}
[6]=>array(1){
[7]=>string(2)"78"
}
}
//下面是json数组:
[{"1":"20"},{"2":"12"},{"3":"31"},{"4":"55"},{"5":"21"},{"6":"68"},{"7":"78"}]
3.代码如下:
$id=array('1','2','3','4','5','6','7');
$ae=array('20','12','31','55','21','68','78');
$result=array();
foreach($idas$k1=>$v1)
{
foreach($aeas$k2=>$v2)
{
if($k1==$k2)
$result[]=array($v1=>$v2);
}
}
mp($result);
echojson_encode($result);
4. 如果不是,再追问
㈣ 请问php中foreach循环中,如何修改$key值
这个$key跟for循环中的$key是两个概念了
比如:
$arr=['k1'=>'v1','k2'=>'v2','k3'=>'v3'];
//取v2的值
print_r($arr['k2']);
$arr=['v1','v2','v3'];
//取v2的值
print_r($arr[1]);
//上面两个数组中,分别得到v2这个值所用的方法,有什么不同?
用foreach循环,可以得到数组中元素的key值跟value值,当然key值可以是数字,也可以是字符串啊
如果你想下一次循环,直接到$key=$key+10的时候,首先,如果$key是字符串,+10就会有错误
你可以:
1.循环一次,将用过的元素通过php函数array_splice()或unset()删除,剩下的可以再次循环
2.新建一个数组变量,用来你的操作
你指的控制key值是什么意思?不太明白
㈤ PHP 怎么从数组中取值
//你可以用下面的方式试下,我这边考虑到的是遍历哈,假设上面的数组名字为$cate_arr
foreach($cate_arras$v){
$values=array_values($v);
if(in_array("分类1",$values)){
$id=$v["id"];//这样就可以得到分类1的ID值了
break;
}
}