需要用正则表达式获取字符串的标题。标题标签是h1~h6。
使用正则表达式:"@
例1
代码如下 | 复制代码 |
$str=' php php php php php php1php php php php php php2php php php php php php3php php php php php php4';preg_match_all("@ print_r($all); ?> 结果 php php php php php php1[1] => php php php php php php2[2] => php php php php php php3[3] => php php php php php php4) [1] => Array [2] => Array ) |
例2
mixed preg_replace ( mixed pattern, mixed replacement, mixed subject [, int limit])
功能
在 subject 中搜索 pattern 模式的匹配项并替换为 replacement。如果指定了 limit,则仅替换 limit 个匹配,如果省略 limit 或者其值为 -1,则所有的匹配项都会被替换。
replacement可以包含\\n形式或$n形式的逆向引用,n可以为0到99,\\n表示匹配pattern第n个子模式的文本,\\0表示匹配整个pattern的文本。
子模式
$pattern参数中被圆括号括起来的正则表达式,子模式的数目即从左到右圆括号的数目。(pattern即模式)
例1:最简单最有用的例子是确定文字中连续出现两个相同单词的位置
代码如下 | 复制代码 |
|
例中的子表达式就是圆括号内的项。\b匹配单词的开始或结束。+匹配重复一次或更多次。
该子表达式匹配的是一个或多个字母字符的单词,即由'[a-z]+'匹配的。
该正则表达式的第二部分是对前面所捕获的子匹配的引用,也就是由附加表达式所匹配的第二次出现的单词,用'\\1'来引用第一个子匹配,第一个\是转义符。
i是正则表达式中的修正符。i:忽略大小写。
例3:
正则表达式的逆向引用($0-99或\\0-99)和子模式以(/()/)开始。
这里$0是全部匹配模式的匹配项。$1是第1个子匹配,$2至$99依次是第2个至第99个子匹配。
用$1-99后向引用子匹配时,如果后面的字符是数字,要用花括号区别开。例:${1}1 。
代码如下 | 复制代码 |
$string = "{April 15, 2003}"; //'w'匹配字母、数字和下划线,'d'匹配0-99数字,'+'匹配重复一次或更多次。 //字符串被替换为与第n个被捕获的括号内的子模式所匹配的文本 //一般表现形式 效果: |
测试已通过。