RE: My eregi() code will not work.

From: Date: Fri, 02 Jun 2000 23:02:36 +0000
Subject: RE: My eregi() code will not work.
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-930@lists.php.net to get a copy of this message
-philip <?php $Note = "<br>This is line 1.<br>This is line 2.<br>This is line 3.<br>"; eregi("(<br>)", $Note, $matches); Print $Note."<br>"; Print $matches[0]."0<br>"; Print $matches[1]."1<br>"; Print $matches[2]."2<br>"; Print $matches[3]."3<br>"; ?> > Sorry, I missed the very original part of this thread, but what are you > trying to do exactly? Part of the problem might be that you're not > seeing it displayed since it's just displaying BR's... maybe... on my > machine using the above (minus the ()'s around the <BR> in ereg) assigns > $matches[0] to "<br>" and that's it. That's all it should do > according > to the manual.. > if you want each of those lines as an element in an array, you should > look at split/explode... > hope this helps > -philip The way I read the manual and the example I have from Core PHP I should get from the $matches: $matches[0] should print out; This is line 1. This is line 2. This is line 3. $matches[1] should print out; This is line 1. $matches[2] should print out; This is line 2. $matches[3] should print out; This is line 3. >From the Manual: int ereg (string pattern, string string [, array regs]) Searchs string for matches to the regular expression given in pattern. If matches are found for parenthesized substrings of pattern and the function is called with the third argument regs, the matches will be stored in the elements of regs. $regs[1] will contain the substring which starts at the first left parenthesis; $regs[2] will contain the substring starting at the second, and so on. $regs[0] will contain a copy of string. Searching is case sensitive. Returns true if a match for pattern was found in string, or false if no matches were found or an error occurred. The following code snippet takes a date in ISO format (YYYY-MM-DD) and prints it in DD.MM.YYYY format: Example 1. ereg() example 1 2 if ( ereg( "([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})", $date, $regs ) ) { 3 echo "$regs[3].$regs[2].$regs[1]"; 4 } else { 5 echo "Invalid date format: $date"; 6 } Example in Core PHP; </HEAD> <BODY> <? // show User Agent print("User Agent: $HTTP_USER_AGENT<BR>\n"); // try to parse User Agent if(ereg("^(.+)/([0-9])\.([0-9]+)", $HTTP_USER_AGENT, $matches)) { print("Full match: $matches[0]<BR>\n"); print("Browser: $matches[1]<BR>\n"); print("Major Version: $matches[2]<BR>\n"); print("Minor Version: $matches[3]<BR>\n"); } else { print("User Agent not recognized"); } ?> </BODY> </HTML> Ted

« previous php.general (#930) next »