本文目录一览:
- 1、php 过滤body里的东西
- 2、php正则提取页面body和body之间的内容
- 3、求PHP提取html中 body 内容 的正则表达式。会追加分数。
- 4、php curl 判断body是否有内容
- 5、求问一个php输出内容在body内怎样解决
- 6、在写php 文件时,在标签想添加一部分从数据库中度数据的操作,代码如下:
php 过滤body里的东西
?php
//保留标签
function strip_word_html($text, $allowed_tags = 'bisupsubemstrongubr')
{
mb_regex_encoding('UTF-8');
$search = array('/lsquo;/u', '/rsquo;/u', '/ldquo;/u', '/rdquo;/u', '/mdash;/u');
$replace = array('\'', '\'', '"', '"', '-');
$text = preg_replace($search, $replace, $text);
$text = html_entity_decode($text, ENT_QUOTES, 'UTF-8');
if(mb_stripos($text, '/*') !== FALSE){
$text = mb_eregi_replace('#/\*.*?\*/#s', '', $text, 'm');
}
$text = preg_replace(array('/([0-9]+)/'), array(' $1'), $text);
$text = strip_tags($text, $allowed_tags);
//$text = preg_replace(array('/^\s\s+/', '/\s\s+$/', '/\s\s+/u'), array('', '', ''), $text);
$search = array('#(strong|b)[^]*(.*?)/(strong|b)#isu', '#(em|i)[^]*(.*?)/(em|i)#isu', '#u[^]*(.*?)/u#isu');
$replace = array('b$2/b', 'i$2/i', 'u$1/u');
$text = preg_replace($search, $replace, $text);
$num_matches = preg_match_all("/\!--/u", $text, $matches);
if($num_matches){
$text = preg_replace('/\!--(.)*--\/isu', '', $text);
}
return $text;
}
//去掉属性
function clean_inside_tags($txt,$tags){
preg_match_all("/([^]+)/i",$tags,$allTags,PREG_PATTERN_ORDER);
foreach ($allTags[1] as $tag){
$txt = preg_replace("/".$tag."[^]*/i","".$tag."",$txt);
}
return $txt;
}
//用来过滤html
function trmhtml($text){
$rm = 'pimgbr';
$text = str_replace("nbsp;","",$text);
$text = strip_word_html($text, $rm);
$cit = clean_inside_tags($text, 'pimg');
$cit = str_replace("nbsp;","",$cit);
return $cit;
}
//使用
$str = 'div class="nav_ent"psss/p
div class="nav_ent1_1"a href="/"img src="/news/images/topcopy_20130809.jpg" //a/div
div class="nav_ent1"a href="/news/"img src="/news/images/news_t.jpg" alt="新闻" border="0"/a/div
div class="nav_ent2"table width="100%" class=43160 cellpadding="0" cellspacing="0"trtd valign=topA href="/world/" target=_top国际/Anbsp;nbsp;A href="/china/" target=_top时政/Anbsp;nbsp;A href="/opinion/" target=_top评论/Anbsp;nbsp;A href="/photo/" target=_blank图片/Anbsp; A href="/world/paper.htm" target=_blank外媒/Anbsp; A href="/news/live/" target=_top直播/Anbsp; A href="/news/special.htm" target=_top专题/Anbsp; A href="/news/update.htm" target=_blank滚动/A/td/trtrtd align=right colspan=1/td/tr/table/div
/div
div class="clearit"id="top" name="top"/div
div class="gotop"a href="#top"nbsp;/a/div
/div';
echo trmhtml($str);
?
试试吧,看是不是要这样的效果!
php正则提取页面body和body之间的内容
/body.*?(.*?)\/body/is
.*?最小匹配,如果去掉?号,则默认是贪婪匹配
而前面加了?:则表示.*?所匹配的结果不会保存在缓冲区内
求PHP提取html中 body 内容 的正则表达式。会追加分数。
"/(body)(.*?)(\/body)/"这个其实就比较对了,只是少了点模式修正符号
改成
"/(body)(.*?)(\/body)/is"
就可以了。
模式修正符号是很重要的。
下边是书上的原话。
s:如果设置了此修正符,模式中的圆点字符“.”匹配所有字符,包括换行符。即将字符串视为单行,换行符看作普通字符看待。
php curl 判断body是否有内容
$url = "这是一个链接";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
curl_close($ch);
// 解析 HTML 的 body 区段
preg_match("/body.*(.*)\/body/smUi",$response, $htmlHeaders);
if(!count($htmlHeaders)){
echo "无法解析 body 区段";
exit;
}elseif( count($htmlHeaders[1]) ){
echo "body的内容为" . $htmlHeaders[1];
exit;
}else{
echo "body没有内容。";
exit;
}
求问一个php输出内容在body内怎样解决
这问题非常好解决啊
比如如下
?php
//这里是你的update等操作,假设操作成功
if ( 成功 ) {
echo 'htmlhead这里写你的js或者css等/headbody成功!/body/html';
die;
}
?
html
head
head
body
/body
/html
按照这种格式不就完了?
原理就是你要输出提示的时候,重新输出一次html文档格式,输出完成后,终止程序运行die()
这样,原来有的html文档格式不再输出,而重新输出一个html文档,这也不就行了嘛!
当然,每次操作都来写代码输出一个html文档,显然很麻烦累赘,也不易维护
那你可以封装一个函数功能啊
比如
function alert($txt = '' ) {
echo '这里写html文档格式即可' . $txt;
die();
}
当操作提示的时候
if ( 成功 ) {
alert('成功');
}
或者
if ( 失败 ) {
alert('失败');
}
这样不挺好的?
在写php 文件时,在标签想添加一部分从数据库中度数据的操作,代码如下:
输出查询结果用echo ,怎么是=号呢。兄弟,我做php2年第一次见。你是不是吧写php当jsp的方式写了。
lispan?php echo date('m-d',strtotime($row['add_time']))?/spana href="#"?php echo $row['AlgID']?/a/li