时间:2021-07-15人气:-
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中的怎样使用正则更换的具体内容,更多请关注站长在线其它相关文章!