prss.net
当前位置:首页 >> prEg_rEplACE >>

prEg_rEplACE

PHP 中的 preg_replace() 函数使用说明 preg_replace 执行一个正则表达式的搜索和替换 参数说明 preg_replace($pattern,$replacement,$string) $pattern 要搜索的模式。可以使一个字符串或字符串数组或者正则表达式 $replacement 用于替换的字符...

竖线其实是pattern的分界符,在php中有/(斜线),|(竖线),#(#号)3种,也就是下面3个是等价的。

\[b\](.*)\[\/b\}/这一段是正则表达是,匹配的就是[b][/b]类似的标签的. 而preg_replace是一个PHP正则表达式的处理函数.

preg_replace($p,$r,"123456123456",1)

正则表达式是需要有开始和结束标记的 你的第一个表达式应该改成#[/\\]{1}#$,第二个应该改成#Admin[/\\]{0,1}#$ 单词Delimiter 表示分界符,第一个是它认为你用[作为分界符,只找到开头的[而没有找到另一个匹配的[作为结尾报错。第二个是告诉你...

使用e修饰符就可以,但是你的语句比较复杂,你可能需要反复调试一下,下面是手册里面的例子:

header("Content-type:text/html;charset=utf-8");echo preg_replace('/[零]{2,}/','零',"壹拾万零零零零");声明一下编码,正则里面{数字,数字}这样的组合的前面要是区间[]。你把上面的代码拿去测试一下就有正确结果了。

替换成preg_replace_callback的语法如下,注意其中的/e修饰符

替换成preg_replace_callback的语法如下,注意其中的/e修饰符

你是想说,你的replace不能替换?? 你的转义符用多了,不要随便使用转义符。 \$就可以,不用\\$ 双引号中'号也不用转义。关键是后面的/e我不懂是什么意思,好像只用得到mi二个。调用可以直接用正则用的某部分用$1 缩写可以用\1而不是\\1。

网站首页 | 网站地图
All rights reserved Powered by www.prss.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com