Re: The difference between ereg and preg?
| From: | Dave M G | Date: | Fri, 04 Aug 2006 14:03:31 +0000 |
| Subject: | Re: The difference between ereg and preg? | ||
| References: | 1 2 3 4 5 6 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-240116@lists.php.net to get a copy of this message | ||
Jochem,
Thank you for responding, and for explaining more about regular expressions.
yes but you wouldn't use preg_replace() but rather preg_match() or preg_match_all() which gives you back an array (via 3rd/4th[?] reference argument) which contains the texts that matched (and therefore want to keep). I looked up preg_match_all() on php.net, and, in combination with what was said before, came up with this syntax:preg_match_all( "#^<li[^>]*>(.*)<br[^>]*>#is", $response, $wordList, PREG_PATTERN_ORDER ); var_dump($wordList); The idea is to catch all text between <li> and <br> tags. Unfortunately, the result I get from var_dump is: array(2) { [0]=> array(0) { } [1]=> array(0) { } } In other words, it made no matches. The text being searched is an entire web page which contains the following: (Please note the following includes utf-8 encoded Japanese text. Apologies if it comes out as ASCII gibberish) <FONT color="red">日本語</FONT>は<FONT color="red">簡単</FONT>だよ<br> <ul><li> 日本語 【にほんご】 (n) Japanese language; (P); EP <br> <li> 簡単 【かんたん】 (adj-na,n) simple; (P); EP <br> </ul><p> So, my preg_match_all search should have found: 日本語 【にほんご】 (n) Japanese language; (P); EP 簡単 【かんたん】 (adj-na,n) simple; (P); EP I've checked and rechecked my syntax, and I can't see why it would fail. Have I messed up the regular expression, or the use of preg_match_all? -- Dave M G