php中的如何使用正则替换-php教程

资源魔 32 0

php中的正则交换应用

preg_replace 引见

preg_replace — 执行一个正则表白式的搜寻以及交换

preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] ) : mixed

搜寻subject中婚配pattern的局部, 以replacement进行交换。

preg_replace 参数

pattern

要搜寻的模式。能够使一个字符串或字符串数组。

能够应用一些PCRE润饰符。

replacement

用于交换的字符串或字符串数组。假如这个参数是一个字符串,而且pattern 是一个数组,那末一切的模式都应用这个字符串进行交换。假如pattern以及replacement 都是数组,每一个pattern应用replacement中对应的 元素进行交换。假如replacement中的元素比pattern中的少, 多进去的pattern应用空字符串进行交换。

replacement中能够蕴含后向援用\\n 或$n,语法上首选后者。 每一个 这样的援用将被婚配到的第n个捕捉子组捕捉到的文本交换。 n 能够是0-99,\\0以及$0代表完好的模式婚配文本。 捕捉子组的序号计数形式为:代表捕捉子组的左括号从左到右, 从1开端数。假如要正在replacement 中应用反斜线,必需应用4个("\\\\",译注:由于这起首是php的字符串,通过本义后,是两个,再通过 正则表白式引擎后才被以为是一个原文反斜线)。

当正在交换模式下工作而且后向援用前面紧随着需求是另一个数字(比方:正在一个婚配模式后紧接着添加一个原文数字), 不克不及应用\\1这样的语法来形容后向援用。比方, \\11将会使preg_replace() 不克不及了解你心愿的是一个\\1后向援用紧跟一个原文1,仍是 一个\\11后向援用前面没有跟任何货色。 这类状况下处理计划是应用${1}1。 这创立了一个自力的$1后向援用, 一个自力的原文1。

当应用被弃用的 e 润饰符时, 这个函数会本义一些字符(即:'、"、 \ 以及 NULL) 而后进行后向援用交换。当这些实现后请确保后向援用解析完后不单引号或 双引号惹起的语法谬误(比方: 'strlen(\'$1\')+strlen("$2")')。确保合乎PHP的 字符串语法,而且合乎eval语法。由于正在实现交换后, 引擎会将后果字符串作为php代码应用eval形式进行评价并将前往值作为终极参加交换的字符串。

subject

要进行搜寻以及交换的字符串或字符串数组。

假如subject是一个数组,搜寻以及交换回正在subject 的每个元素上进行, 而且前往值也会是一个数组。

limit

每一个模式正在每一个subject上进行交换的最年夜次数。默许是 -1(有限)。

count

假如指定,将会被填充为实现的交换次数。

preg_replace 前往值

假如subject是一个数组, preg_replace()前往一个数组, 其余状况下前往一个字符串。

假如婚配被查找到,交换后的subject被前往,其余状况下 前往不扭转的 subject。假如发作谬误,前往 NULL 。

以上就是php中的若何应用正则交换的具体内容,更多请存眷资源魔其它相干文章!

标签: php php开发教程 php开发资料 php开发自学 正则

抱歉,评论功能暂时关闭!