Last active
January 23, 2018 01:54
-
-
Save sursir/c247731c0a18519c3cfa35802687da7d to your computer and use it in GitHub Desktop.
php preg pcre 断言
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <?php | |
| $str = '<end><p><img src="nihao"><img src="nihao2"><img src="nihao3"><img src="nihao4"></p></end>'; | |
| // 后瞻断言使用 | |
| // ========== | |
| // 使用后瞻断言 (?<=) 匹配 nihao | |
| $str1 = preg_replace('/((?<=<end><p>)<img src=[^>]+>)/', '', $str); | |
| echo $str1, PHP_EOL; | |
| // 使用消极后瞻断言 (?<!) 匹配非 nihao | |
| $str1 = preg_replace('/((?<!<end><p>)<img src=[^>]+>)/', '', $str); | |
| echo $str1, PHP_EOL; | |
| // 前瞻断言使用 | |
| // ========== | |
| // 使用前瞻断言 (?=) 匹配 nihao3 | |
| $str2 = preg_replace('/(<img src=[^>]+>(?=<\/p><\/end>))/', '', $str); | |
| echo $str2, PHP_EOL; | |
| // 使用消极前瞻断言 (?<!) 匹配非 nihao3 | |
| $str2 = preg_replace('/(<img src=[^>]+>(?!<\/p><\/end>))/', '', $str); | |
| echo $str2, PHP_EOL; | |
| // 全部应用 | |
| // ======= | |
| // 全部使用 匹配两边 | |
| $str3 = preg_replace('/((?<=<end><p>)<img src=[^>]+>)|(<img src=[^>]+>(?=<\/p><\/end>))/', '', $str); | |
| echo $str3, PHP_EOL; | |
| // 全部使用 匹配中间 | |
| $str3 = preg_replace('/((?<!<end><p>)<img src=[^>]+>(?!<\/p><\/end>))/', '', $str); | |
| echo $str3, PHP_EOL; | |
| exit; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment