php 向数据库插入特殊字符

37 篇文章 0 订阅

需求:

将短信黑词.txt文件中的内容插入到数据库,内容如下:




<?php
header("Content-type: text/html; charset=utf-8");
//获取短信黑词 使用换行符进行分割(因为在txt中是换行,不是空格)
$blackWords = file_get_contents("blackWords.txt");
$words = explode("\n", $blackWords);  
/*等同于
$url = MrJobs_Config::$MAIN['webRoot']."/uploads/SMSBlackWords.txt";
$black_words = file($url, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
 [file函数相比file_get_contents,前者是读取到数组中,后者是读取到一个字符串中]
*/
$sql = "INSERT INTO black_words(black_work_id,black_word) VALUES";
foreach($words as $key=>$val){
//去掉分割时后面的空格,否则插入数据库后有空格,匹配会失败
$val = rtrim($val);
//因记录中有\、\n等特殊字符,如“查\\t验\\t后\\t付\\t款”等插入数据库,会变成“查\t验\t后\t付\t款”,
//解决方法是在前面使用\进行转义,即插入“查\\\\t验\\\\t后\\\\t付\\\\t款”,数据库就会变成想要的效果
//“查\\t验\\t后\\t付\\t款”,在此不需手动添加,直接使用addslashes就可以将\变成\\进行转义。
//同理,遇到单引号等特殊字符,同样处理用\处理即可
$val = addslashes($val);
$sql = "('','$val'),";
echo $sql;

}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值