作者banana2014 (香蕉共和国)
看板PHP
标题[问题] 请问如何传回所有符合某一正规表示式的所有字串?
时间Sat Jun 6 14:47:12 2015
我希望有一个函数可以传回所有符合某一正规表示式的字符之阵列
看不懂上面句子没关系,看下面范例:
例如:
$string="abc How are you Im fine thanks";
print_r(f("/^a|e$/",$string)); //希望传回阵列[0] => abc
[1] => are
[2] => fine
请问那个f()函数是什麽呢?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 219.80.136.111
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/PHP/M.1433573234.A.270.html
1F:→ banana2014: 我的意思就是说:既然可以用函数preg_match来判断这一 06/06 14:53
2F:→ banana2014: 字串是否符合正规表示式的条件,那麽是不是应该有函数 06/06 14:54
3F:→ banana2014: 可以找出哪些字是符合这个正规表示式的条件 06/06 14:55
4F:推 alog: 请上php net 把文件看熟 06/06 15:59
5F:→ banana2014: 我看过了,有这个函数吗? 06/06 16:14
6F:推 alog: int preg_match ( string $pattern , string $subject [, ar 06/06 16:24
7F:→ alog: ray &$matches [, int $flags = 0 [, int $offset = 0 ]]] ) 06/06 16:24
8F:→ alog: 记得去看参数 06/06 16:25
我照您的方法去做:
<?php
$string="abc How are you Im fine thanks";
preg_match("/^a|e$/",$string,$array);
print_r($array);
?>
但是印出来的结果只有一个元素,其元素值为"a",这好像不是我要的结果耶...
※ 编辑: banana2014 (219.80.136.111), 06/06/2015 16:43:16
9F:→ banana2014: 啊 好像是我的pattern写错了... 06/06 16:45
10F:→ banana2014: 但是要怎麽改呢? a开头e结尾... 歹谢 我正规好像不是 06/06 16:50
11F:→ banana2014: 很熟... 06/06 16:50
12F:→ bibo9901: RTFM: preg_match 06/06 16:58
13F:→ bibo9901: and preg_match_all 06/06 16:58
14F:推 KawasumiMai: preg_match_all吧?他本来就可以找出"所有符合"者 06/06 20:51
15F:→ KawasumiMai: 不然为什麽都会习惯把那个项目命名为$match"es" 06/06 20:52
16F:→ banana2014: 谢谢,我知道了,但是真正的头大的问题还在下一篇... 06/06 21:24
17F:→ shadowjohn: 算了,连句谢谢也不会讲,不回了 06/07 02:37
18F:→ banana2014: 怎麽了?! 06/07 09:37
19F:→ banana2014: 我不是有讲吗? 06/07 09:38
20F:→ banana2014: 觉得有点奇怪... 06/07 09:50