草庐IT

mb_ereg_replace

全部标签

php - Preg_replace 没有正确替换

我正在从事我的一个项目,人们可以在其中将PHP代码片段添加到我的数据库中。使用SyntaxHighlighter显示这些即时消息。我使用preg_replace来转义pre标签中的所有这是我的代码,用于呈现来self的数据库的输入:publicfunctionrenderPre($input)//FunctiontoescapehtmlbracketswithinPREtags.{$temp=preg_replace('/(.*?)/ise',"''.htmlspecialchars('$1').''",$input);returnstr_replace('','',$temp);}一

php - fatal error : Uncaught Error: Call to undefined function mb_detect_encoding()

我在尝试访问http://localhost/phpmyadmin/时收到以下错误:Fatalerror:UncaughtError:Calltoundefinedfunctionmb_detect_encoding()inC:\Apache24\htdocs\phpmyadmin\libraries\php-gettext\gettext.inc:177Stacktrace:#0C:\Apache24\htdocs\phpmyadmin\libraries\php-gettext\gettext.inc(282):_encode('The%sextensio...')#1C:\Apa

php - 如何使用 LOAD DATA LOCAL INFILE REPLACE

我有一个脚本,用于将数据从一个数据库迁移到另一个数据库。我已经使用常规的mysql插入和更新脚本完成了此操作。只是花的时间太长了。无论如何,我已经将新数据库中要更新的所有数据转储到csv中,我只是担心如果我运行此脚本,我会得到重复的条目。我没有匹配的“id”,所以我无法对下面列出的REPLACE脚本进行比较。我想知道是否有人可以提醒我这个脚本看起来是否正确。目前我在新数据库中有几行数据,如果它们匹配,我只想用csv中的新数据覆盖新数据库中的任何字段。“archived_id_number”字段是我唯一可以匹配的字段,但它不是主键。谁能拍下我:如果csv上的archived_id_num

php - preg_replace() 找不到结束分隔符?

我经常使用preg_replace(),但我不是这方面的天才。如果我启动一个功能并故意输入我想使用的所有表情符号,例如",$body);//theycontinuelikeisaidreturn$body;}?>但是今天我尝试更改它并使用mysql让我可以随意插入和删除它们而无需在我的代码中播放,但是当我尝试它时,它只会抛出Warning:preg_replace()[function.preg-replace]:Noendingdelimiter'#'foundinPATH/TO/FILE.phponline226这是我第一次使用的代码:Query("SELECT*FROMemote

MySQL utf8mb4 外键错误

几天前,我们将数据库从utf8迁移到utf8mb4。由于迁移,我们的大多数主键都从VARCHAR(255)更新为VARCHAR(191),因为每个字符都有额外的字节数。问题是现在我们不能在引用现有表的新表上添加新的外键。我们在MySQLWorkbench中收到以下错误:"Referencedtablehasnocandidatecolumnswithacompatibletypefortable.id.Hint:sourcecolumnhastypeVARCHAR(191),PKofreferencedtableisVARCHAR(191)."如果我们尝试通过控制台添加外键,我们会得到

mysql - 存储过程 collat​​ion_connection 是 utf8mb4_general_ci 而不是 utf8mb4_unicode_ci 使用 Hiedisql mysql

我正在使用HiedisqlV9.2。我设置了默认服务器character-setisutfmb4和collationisutf8mb4_unicode_ci但在创建存储过程后仍然显示collation_connection=utf8mb4_general_ci.以下是服务器my.ini设置。[client]default-character-set=utf8mb4[mysql]default-character-set=utf8mb4[mysqld]init_connect='SETNAMESutf8mb4'collation-server=utf8mb4_unicode_cichar

mysql utf8mb4_unicode_ci 导致唯一键冲突

我有一张这样的tableCREATETABLE`mb1`(`id`int(11)NOTNULLAUTO_INCREMENT,`name`varchar(30)CHARACTERSETutf8mb4COLLATEutf8mb4_unicode_ciNOTNULL,PRIMARYKEY(`id`),UNIQUEKEY`u_name`(`name`))ENGINE=InnoDBDEFAULTCHARSET=utf8;然后我插入两行insertintomb1(name)values('K'),('K');注意,第二个K是unicode字符+------+-----------+|name|he

php - mysql REPLACE INTO 表有数百列

我有一个包含数百列的表格。表结构不在我的控制范围内(由第三方控制)。该表还有可怕的字段名称,其中包含空格、单引号等,表值也是如此。该表通过cron每小时更新一次。cron作业每次都会截断并重建表。我还保留该表的存档表,我使用REPLACEINTO语句根据需要更新或插入。我的挑战-我宁愿不必显式定义所有350个字段名称和值,而是在我的REPLACEINTO语句中再次这样做,因为这将花费很长时间,并且如果表发生变化则需要维护。我宁愿使用数组。这是不起作用的,但希望能给出目标的想法(我意识到这是不推荐使用的MySQL,但出于各种原因它就是这样):$listings=mysql_query("

报错-warning: in the working copy of ‘xxx.vue‘, LF will be replaced by CRLF the next time Git touc

问题:在进行gitadd时,出现 报错:warning:intheworkingcopyof'src/xxx.vue',LFwillbereplacedbyCRLFthenexttimeGittouchesit翻译:警告:在'src/xxx.vue'的工作副本中,下次Git遇到LF时,LF将被CRLF替换。知识点:CR为回车符,LF为换行符。Windows结束一行用CRLF,Mac和Linux用LF。core.autocrlffalse表示取消自动转换功能->适合纯Windowstrue表示提交代码时把CRLF转换成LF,检出时LF转换成CRLF->适合多平台协作input表示提交时把CRLF

Mysql SQL for "replace everything but this"where xxx

我有一个关于项目的糟糕数据库,他们使用文本字段来显示日期。因此,我需要构建一个在一列中仅包含年份的View。问题是我有任何标准格式的日期,例如:01-01-20122012年1月1日2012年01月1日2012年1月1日01/20121/2012201201.2012有什么方法可以构建SQL(MySQL)以仅获取这4年的数字来构建View?非常感谢您的帮助! 最佳答案 这真的取决于整个数据结构,你可以使用REGEX或Stringfunctions.例如,对于您的示例数据,右侧的最后4位数字是年份,因此使用SELECTRIGHT(fi