首页 > 后端开发 > 正文

PHP采集只要文字,不要p标签,正则表达式该怎么写

2024-09-07 13:22:06 | 我爱编程网

最近经常有小伙伴私信询问PHP采集只要文字,不要p标签,正则表达式该怎么写相关的问题,今天,我爱编程网小编整理了以下内容,希望可以对大家有所帮助。

本文目录一览:

PHP采集只要文字,不要p标签,正则表达式该怎么写

php-fpm特色功能

php-fpm的特色功能为用户提供了多种便利性和优化选项,这些特性以"不打断"的方式实现,既不影响php的基本功能,又能显著提升用户体验和服务器性能。

在默认设置下,如果php脚本出现语法错误,用户仅能收到一个空的"200 ok"页面,这显然不够友好。通过在php.ini中配置"error_header"选项,可以将错误码展示给用户,例如设置为"HTTP/1.0 550 Server Made Big Boo",从而中断web服务器请求并显示正确的错误页面。需要在php.ini中添加:"fastcgi.error_header = "HTTP/1.0 550 Server Made Big Boo"。在php-5.2.4中,已经实现了类似功能,如果脚本包含语法错误且display_errors设置为off,会立即返回"HTTP/1.0 500 Internal Server Error",但此行为与display_errors设置相关联。

针对大POST请求和文件上传的优化,php-fpm通过将请求体写入临时文件,然后通过fastcgi协议传递文件名而不是请求体,实现加速处理。此功能仅在php与web服务器运行在同一台机器上时有效。在nginx配置中,可以使用如下示例配置:将"fastcgi_pass_request_body"设置为"off","client_body_in_file_only"设置为"clean",并在fastcgi参数中添加"REQUEST_BODY_FILE"参数,指定请求体文件名。

php中无需进行额外配置,如果接收到"REQUEST_BODY_FILE"参数,将读取其中的请求体;如果没有该参数,则从fastcgi协议中读取请求体。结合使用内存文件系统(如Linux的tmpfs)可以进一步优化处理速度,例如设置"client_body_temp_path"以利用tmpfs。

为了提高某些php请求的处理速度,可以使用"fastcgi_finish_request()"特性。此特性允许在页面生成后进行某些处理,例如在memcached中保存session或处理上传的视频、统计等。此操作可以在响应输出被web服务器提供给客户端之前完成,同时触发"shutdown"函数运行。

通过配置"request_slowlog_timeout"选项,可以追踪执行缓慢的脚本并将其与调用栈一同记录在日志文件中,以帮助诊断问题。例如,设置如下配置:"request_slowlog_timeout"为5秒,"slowlog"设置为"logs/slow.log"。这样,当脚本运行超过5秒时,系统会记录其调用栈信息,可能是因为数据库响应速度慢导致的。

PHP采集只要文字,不要p标签,正则表达式该怎么写我爱编程网

PHP采集只要文字,不要p标签,正则表达式该怎么写

PHP采集只要文字,不要<p>标签,正则表达式该怎么写
<font id="zx_article">
到底内心要有多强大,才能在前一秒得知自己中了740多万元的彩票奖金,后一秒还能像没事人一样,淡定地和朋友相聚?彩民王先生用他的实际行动告诉大家,他就可以这么淡定,就连在领取奖金时,他还是一脸波澜不惊。
<p id=''>  “你看,每期彩票开奖不都有不少人中奖吗?还有人中了上亿元的奖金呢,而且我觉得我迟早都会中一次大奖吧。”、9月11日,这位内心强大,表现淡定的大奖得主王先生现身自治区福利彩票发行中心,他以11+2的复式投注,中得双色球2012105期一等奖705万余元、22万余元的二等奖,再加上若干小奖,奖金合计740.8985万元。</p>
<p id=''>  看上去年届不惑的王先生衣着考究,采访中,他的话语也不多,常会选择沉默凝视记者来回避他不想谈的话题,而更多时间,他看起来似乎有些心不在焉。</p>
<p id=''>  有着三年多彩龄的王先生自称来自青海,来乌市做生意三年了,不是铁杆彩民,只是不定期地购买彩票,平时选号全凭感觉。这次中奖是他在9月6日路过长江路一家投注站时选的号。当时,他选了11个号码,感觉这些号码都挺好的,因为难以取舍,就花了1848元钱以11+2的复式投注,“这是我第四次花这么高的投注金额买一注彩票,因为当时感觉挺好”。</p>
<p id=''>  次日晚上,王先生在宾馆接待远方来乌的朋友,闲暇时无意中上网,查询了开奖号码后再一一核对,这才发现自己中了一等奖,不过他并没有太过兴奋,而是继续和朋友叙旧。</p>
<p id=''>  “我当时很高兴,心想第二天还有些要紧的事需要处理,赶快忙完这段时间,就去领奖。”王先生说,他计划把这些奖金用于自己的生意。</p>
<p id=''>  王先生坦言,一直到领奖为止,他还没有把中奖的事告诉家人或朋友。“等领到钱了再告诉他们,不然我这成了巨额财产来历不明了。”王先生幽默地说。</p>
<p id=''>  最后,王先生为新疆福彩爱心工程基金捐款2万元。</p> </font>

只要<font>里的内容,不要<p>标签

------解决方案--------------------
最土的办法,整段采集完后,把<p id''>和</p>替换为空
------解决方案--------------------
试下这个函数,你可以自己修改下。
PHP code

function cleanJs($text){
$text = trim($text);
$text = stripslashes($text);
//完全过滤动态代码
$text = preg_replace('/<\?|\?'.'>/','',$text);
//完全过滤js
$text = preg_replace('/<script?.*\/script>/','',$text);
//过滤多余html
$text = preg_replace('/<\/?(html|head|meta|link|base|body|title|style|script|form|iframe|frame|frameset)[^><]*>/i','',$text);
//过滤on事件lang js
while(preg_match('/(<[^><]+)(lang|onfinish|onmouse|onexit|onerror|onclick|onkey|onload|onchange|onfocus|onblur)[^><]+/i',$text,$mat)){
$text=str_replace($mat[0],$mat[1],$text);
}
while(preg_match('/(<[^><]+)(window\.|javascript:|js:|about:|file:|document\.|vbs:|cookie)([^><]*)/i',$text,$mat)){
$text=str_replace($mat[0],$mat[1].$mat[3],$text);
}
return $text;
}

PHP采集只要文字,不要p标签,正则表达式该怎么写

php能不能像java那样打印错误堆栈信息到错误日志

我爱编程网(https://www.52biancheng.com)小编还为大家带来php能不能像java那样打印错误堆栈信息到错误日志的相关内容。

PHP 确实不会输出错误堆栈,但通过函数,还是能够获取到错误堆栈的。
function getBacktrace() {
ob_start();
debug_print_backtrace();
return ob_get_clean();
}

调用上面这个函数取得错误堆栈,再用 file_put_contents('log_path', FILE_APPEND); 写入日志文件即可。
还有一个办法:为 PHP 安装 xdebug 扩展
windows 下的安装方法 安装好后,修改 php.ini

以上就是我爱编程网小编整理的内容,想要了解更多相关资讯内容敬请关注我爱编程网。更多相关文章关注我爱编程网:www.52biancheng.com

免责声明:文章内容来自网络,如有侵权请及时联系删除。
与“PHP采集只要文字,不要p标签,正则表达式该怎么写”相关推荐