PHP单文件实现代码去行首尾空格和去空行据库中特殊字符的问题小结

教程下载地址: 网赚博客https://www.piaodoo.com/创业项目排行榜前十名https://www.piaodoo.com/


thinkphp解决数据传入数据库中特殊字符的问题

为了解决这个问题,你需要确保在插入数据库之前,不对文本内容进行HTML实体编码。如果你是从前端获取的数据,检查是否在发送请求前使用 htmlspecialchars() 或类似方法进行了转义。如果是后端处理逻辑导致的转义,那么在插入数据库之前取消转义或避免对其进行转义。

如果是在 Laravel 框架下,一般不需要手动处理此类转义问题,因为 Eloquent ORM 在处理字符串时不会自动进行HTML实体编码。但如果你确实遇到了这种情况,可以使用 PHP 的 html_entity_decode() 函数还原原始字符串

例子

$operation_code = html_entity_decode($name, ENT_QUOTES, 'UTF-8');
$data = [
    'operation_seq_num' => $num,
    'wip_entity_name' => $wip_entity_name,
    'operation_code' => $operation_code,
    'creation_date' => time(),
    'begin_date' => time(),
    'employee_num' => $employee_num,
    'created_by' =>  $username
];
db::table('wip_production')->insert($data);

扩展:

Thinkphp3.2如何处理大规模并发写入问题

1.大规模并发写入,出现数据库锁死,数据写入失败,数据表损坏等问题

2.锁表需要配合事务使用

3.具体代码如下

M()->startTrans();
$lot_check = M()->table('order')->lock(true)->where(['id' => $id])->field('id,type')->find();
$data = ['status'=>2];
$res = M()->save($data);
if($res)
{
M()->commit(); #提交事务
}else{
M()->rollback(); #回滚事务教程下载地址: 网赚博客https://www.piaodoo.com/创业项目排行榜前十名https://www.piaodoo.com/ 

示例代码

<?php 
if($_GET["x"] == "cha"){
$tips = isset($_POST['tips']) ? $_POST['tips'] : '';
$tips = preg_replace('/^\s+|\s+$/m', "\r\n", $tips);//去首尾空格
$tips = preg_replace('/(\r|\n)+/m', "\r\n", $tips);//去首尾空格
echo "<h2><strong>代码去首尾空格+空行</strong>:</h2>\r\n";
echo "<textarea>".Trim($tips)."</textarea>";
exit();
}
?>
<!DOCTYPE html>
<html>
<head>
<title>代码去首尾空格+空行</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0">
<meta name="apple-mobile-web-app-capable" content="yes" />
<script type="text/javascript">
console.log("问题反馈电话:","15058593138");
console.log("问题反馈邮件:","admin@12391.net");
function $(objId){
return document.getElementById(objId);
}
function loadcha(xid) {
var xmlhttp;
var Stxt= "nums=aa";
Stxt+="&tips="+ encodeURIComponent($("tips").value);
//$("tips").innerHTML = "正在加载...";
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
} else {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
var btxt = xmlhttp.response;
if(btxt == "err01"){ $("tipx").innerHTML = "!"; return false;}
$('tipx').innerHTML = xmlhttp.response;
}
}
xmlhttp.open("POST", "?x=cha&tt="+Math.random(), true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.send(Stxt);
} 
</script>
<style>
div,#tipx{display:block;width:99.7%;border:0;margin-top:5px;}
textarea{display:block;width:99.7%;border:1px solid #ccc;height:160px;}
table{margin:20px auto;border-left:1px solid #a2c6d3;border-top:3px solid #0180CF;font-size:12px;width:99.7%;}
table td{border-right:1px solid #a2c6d3;border-bottom:1px solid #a2c6d3;padding:2px;word-wrap:break-word;word-break:break-all;}
td{min-width:30px;max-width:490px;}
#submit{ height:35px;}
</style>
</head>
<body> 
<form class="form" id="form" method="POST" act="?act=cha" >
<h3>代码去首尾空格+空行</h3>
<textarea id="tips">
 1 2 
 2 3
	制表符	
我你
</textarea>
<input type="button" id="submit" value="提交发送" οnclick="loadcha('xid')">
<div id="tipx"></div>
 </form>
</body>
</html>

知识补充

除了上文的方法,小编还为大家整理了一些PHP去除代码空行的方法,希望对大家有所帮助

去除字符串两边的空格、空字符串和换行符:

使用trim()函数去除字符串两边的空格和空字符串,例如:

$str = "  Hello World!  ";
$trimmed = trim($str);
echo $trimmed;

使用preg_replace()函数去除字符串中的空格、空字符串和换行符,例如:

$str = "  Hello\nWorld!  ";
$trimmed = preg_replace('/^\s+|\s+$/m', '', $str);
echo $trimmed;

使用str_replace()函数去除字符串中的空格、空字符串和换行符,例如:

$str = "  Hello\nWorld!  ";
$trimmed = str_replace(array("\n","\r","\t"),"",$str);
echo $trimmed;

去掉多余的空行

<?php
$str="i   am    a     book\n\n\n\n\nmoth";
//去除所有的空格和换行符
echo preg_replace("/[\s]{2,}/","",$str).&#39;<br>&#39;;
//去除多余的空格和换行符,只保留一个
echo preg_replace("/([\s]{2,})/","\\1",$str);
//去除多余的空格或换行 $text = preg_replace("/(\r\n|\n|\r|\t)/i", &#39;&#39;, $text);
$lastSeveralLineContentsArr = preg_replace("/([ |\t]{0,}[\n]{1,}){2,}/","",$lastSeveralLineContentsArr);
//对Html里有连续的空行或tab给正则过滤掉>
?>

php清除html,空格,换行,提取纯文字的方法:

方法一:

function DeleteHtml($str) 
{ 
    $str = trim($str); //清除字符串两边的空格
    $str = preg_replace("/\t/","",$str); //使用正则表达式替换内容,如:空格,换行,并将替换为空。
    $str = preg_replace("/\r\n/","",$str); 
    $str = preg_replace("/\r/","",$str); 
    $str = preg_replace("/\n/","",$str); 
    $str = preg_replace("/ /","",$str);
    $str = preg_replace("/  /","",$str);  //匹配html中的空格
    return trim($str); //返回字符串
}

调用方法

DeleteHtml($str);

$str为需要清除的页面字符串

方法二:

去除字符串内部的空行:

$str = preg_replace("/(s*?r?ns*?)+/","n",$str);

去除全部的空行,包括内部和头尾:

$str = preg_replace('/($s*$)|(^s*^)/m', '',$str);

到此这篇关于PHP单文件实现代码去行首尾空格和去空行的文章就介绍到这了,更多相关PHP单文件去空行内容请搜索网赚博客http://www.piaodoo.com/以前的文章或继续浏览下面的相关文章希望大家以后多多支持网赚博客http://www.piaodoo.com/!

                        友情连接:  

茂名一技http://www.szsyby.net/


茂名一技http://www.enechn.com/


美文集http://www.tpyjn.cn/


手游排行前十名http://www.bjkhrx.com/


}

4.采用的方法主要就是事务配合锁表,解决大并发写入问题

到此这篇关于thinkphp解决数据传入数据库中特殊字符的问题的文章就介绍到这了,更多相关thinkphp特殊字符内容请搜索网赚博客http://www.piaodoo.com/以前的文章或继续浏览下面的相关文章希望大家以后多多支持网赚博客http://www.piaodoo.com/!

                        友情连接:  

茂名一技http://www.szsyby.net/


茂名一技http://www.enechn.com/


美文集http://www.tpyjn.cn/


手游排行前十名http://www.bjkhrx.com/

  • 17
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值