eregi_replace()中特殊字符的处理方法
我对PHP的正则表达式不太熟悉
在使用eregi_replace()函数时发现带有()的字符串不能进行替换,看了手册还是糊里糊涂
比如
将 DIN 1693(Pt.2)-1997 加粗
使用
$str='din 1693(Pt.2)-1997'
eregi_replace($str,"<strong>".$str."</strong>",$str);
最后因为字符串中含有括号而无法处理
现在我知道这样写不对了,但不知道正确的写法是什么
那位大侠可以教教我这种问题的处理方法? 还有,
如果使用小写字母查询
用这个函数会把原本的大写字母替换成小写,不知道如何保持原来的写法(大写或小写)
我看到GOOGLE是这样的
<?
$str='din 1693(Pt.2)-1997';
echo preg_replace("/(".preg_quote($str).")/","<strong>\\1</strong>",$str);
?>
转义
quotemeta
preg_quote
如果是ereg函数组用quotemeta
如果是preg函数组用preg_quote
echo preg_replace("/(".preg_quote($str).")/","<strong>\\1</strong>",$str);
\\1就是引用找到的部份,这样可保留原来大小写.
相关推荐
-
POSIX 风格和兼容 Perl 风格两种正则表达式主要函数的类比(preg_match, preg_replace, ereg, ereg_replace)
首先来看看 POSIX 风格正则表达式的两个主要函数: ereg 函数:(正则表达式匹配) 格式:int ereg ( string pattern, string string [, array ®s] ) 注意:使用 Perl 兼容正则表达式语法的 preg_match() 函数通常是比 ereg() 更快的替代方案.(一般的话还是使用 preg_match() ,比较好勒~~) 以区分大小写的方式在 string 中寻找与给定的正则表达式 pattern 所匹配的子串.如果找到与 p
-
eregi_replace与preg_replace 函数代码的用法比较
eregi_replace ( string pattern, string replacement, string string ) preg_replace ( mixed pattern, mixed replacement, mixed subject [, int limit [, int &count]] ) 以上两个函数基本义定义我知道 但是里面样式或参数的定义我搞不懂 例如以下是UBB与YBB Code的用法 $str = eregi_replace("\\[url]ht
-
php 升级到 5.3+ 后出现的一些错误,如 ereg(); ereg_replace(); 函数报错
在php5.3环境下运行,常常会出现 Deprecated: Function ereg() is deprecated in...和Deprecated: Function ereg_replace() is deprecated in...这些类型的报错提示. 其原因在于:php5.3以上的版本不支持ereg()函数,而是使用preg_match()函数:不支持ereg_replace()函数,而使用preg_replace()函数. 解决方法:将不支持的函数修改为支持的函数即可. 例如
-
php中正则替换函数ereg_replace用法实例
本文实例讲述了php中正则替换函数ereg_replace用法.分享给大家供大家参考.具体如下: 下面的实例是利用php 正则替换函数 ereg_replace来把指定的字符替换成我想需要的字符实例,代码如下: 复制代码 代码如下: $num = 'www.jb51.net'; $string = "this string has four words. <br>"; $string = ereg_replace ('four', $num, $string); echo
-
eregi_replace()中特殊字符的处理方法
我对PHP的正则表达式不太熟悉 在使用eregi_replace()函数时发现带有()的字符串不能进行替换,看了手册还是糊里糊涂 比如 将 DIN 1693(Pt.2)-1997 加粗 使用 $str='din 1693(Pt.2)-1997' eregi_replace($str,"<strong>".$str."</strong>",$str); 最
-
Shell命令行中特殊字符与其转义详解(去除特殊含义)
特殊符号及其转义 大家都知道在一个shell命令是由命令名和它的参数组成的, 比如 cat testfile, 其中cat是命令名, testfile是参数. shell将参数testfile传递给cat命令. 但是, 如果参数中含有特殊字符, 比如说*, *我们知道,是表示任意多个(包括0个)任意字符. 那么shell的工作方式是,它会对这些特殊字符进行预先处理, 然后再将处理的结果传给那个命令. 比如说,如果你的当前目录有file, file1, file2 三个文件, 那么当你执行cat
-
Node.js Mongodb 密码特殊字符 @的解决方法
在去年的 DB 勒索事件之后, 不少的同学开始加强 Mongodb 的安全性, 其中一种办法就是设置复杂的密码. 那么问题来了, 如果设置的密码里包含一些如 "@", ":" 一样的特殊字符怎么办? mongodb://username:password@host:port/db 这种情况可能使得你的 Mongodb 连接串不能被正常解析, 并且完全有可能出现. 烦人的地方在于: 1.使用 "" 双引号将 password 包起来没有用 2,使用
-
mybatis xml中特殊字符处理及特殊符号
下面给大家介绍mybatis xml 中特殊字符处理方法,具体内容如下所示: 1,CDATA区: 它的全称为character data,以"<![CDATA[ "开始,以" ]]>" 结束,在两者之间嵌入不想被解析程序解析的原始数据,解析器不对CDATA区中的内容进行解析,而是将这些数据原封不动地交给下游程序处理. 2,特殊字符 : xml 中表示: <= 小于等于. >= 大于等于 需加 这样的标记: <![C
-
在Python中过滤Windows文件名中的非法字符方法
网上有三种写法: 第一种(所有非法字符都不转义): def setFileTitle(self,title): fileName = re.sub('[\/:*?"<>|]','-',title)#去掉非法字符 self.file = open(fileName + ".txt","w+") \非法字符必须转义,否则\/被解释为/ 第二种(所有非法字符都转义): def validateTitle(title): rstr = r"[
-
微信小程序中转义字符的处理方法
在微信小程序开发过程中,有时候会用到常用的一些特殊字符如:'<'.'>'.'&'.'空格'等,微信小程序同样支持对转义字符的处理,下面提供两种方法用来处理微信小程序中转义字符的处理. 1.官方API调用 这种方式,我们直接在wxml布局文件中,直接调用相关特殊符号的转义字符会无效,原因是小程序的text文本控件的decode属性没有打开导致的,看下文档说明: 从文档中,我们可以发现,decode属性默认为false,不会解析我们的特殊字符,我们通过设置decode属性为true,并且调
-
基于网址URL中特殊字符转义编码
目录 网址URL中特殊字符转义编码 URL特殊字符转义,URL中一些字符的特殊含义,基本编码规则如下: 如果需要在URL中用到,需要将这些特殊字符换成相应的十六进制的值 预备知识 为什么需要Url编码 哪些字符需要编码 US-ASCII字符集中没有对应的可打印字符 保留字符 不安全字符 如何对Url中的非法字符进行编码 Javascript中的escape,encodeURI和encodeURIComponent的区别 安全字符不同 兼容性不同 对Unicode字符的编码方式不同 适用场合不同
-
AngularJs中route的使用方法和配置
angular是Google开发的一个单页面应用框架,是现在比较主流的单页面应用框架之一.该强大的地方有很多,比如双向数据绑定,应用了后端的MVC模式到前端,自定义指令等. 既然是单页面应用,肯定离不开页面的切换.我们首先来说一下angular的路由. angular实现页面切换时用了route. <script src="js/plugins/angular/angular.min.js"></script> <script src="js/p
-
深入学习JavaScript的AngularJS框架中指令的使用方法
指令(Directives)是所有AngularJS应用最重要的部分.尽管AngularJS已经提供了非常丰富的指令,但还是经常需要创建应用特定的指令.这篇教程会为你讲述如何自定义指令,以及介绍如何在实际项目中使用.在这篇文章的最后(第二部分),我会指导你如何使用Angular指令来创建一个简单的记事本应用. 概述 一个指令用来引入新的HTML语法.指令是DOM元素上的标记,使元素拥有特定的行为.举例来说,静态的HTML不知道如何来创建和展现一个日期选择器控件.让HTML能识别这个语法,我们需要
-
AngularJS入门教程二:在路由中传递参数的方法分析
本文实例讲述了AngularJS在路由中传递参数的方法.分享给大家供大家参考,具体如下: 我们不仅可以在控制器中直接定义属性的值,比如: app.controller('listController',function($scope){ $scope.name="ROSE"; }); AngularJS还提供了传递参数的功能,目前我接触到的一种方式是从视图中传参: <!--首页html--> <li><a href="#/user/18"
随机推荐
- Yii2框架实现登录、退出及自动登录功能的方法详解
- PHP+jQuery实现滚屏无刷新动态加载数据功能详解
- 如何Shrink Undo表空间,释放过度占用的空间
- android downsample降低音频采样频率代码
- android开发教程之时间对话框核心代码
- CodeIgniter钩子用法实例详解
- 详解Golang互斥锁内部实现
- MySQL数据库管理常用命令小结
- 深入理解Javascript中的作用域链和闭包
- C语言编程中实现二分查找的简单入门实例
- Linux中防御垃圾邮件的方法
- Java的MyBatis框架中Mapper映射配置的使用及原理解析
- spring boot整合RabbitMQ(Direct模式)
- Android 开发中fragment预加载问题
- jQuery实现checkbox即点即改批量删除及中间遇到的坑
- JavaScript设计模式之调停者模式实例详解
- vue父组件点击触发子组件事件的实例讲解
- linux cgroups详细介绍
- javascript创建元素和删除元素实例小结
- pyqt5让图片自适应QLabel大小上以及移除已显示的图片方法