Shawn McKenzie wrote:
> Alice Wei wrote:
>> Hi,
>>
>> I have a code as in the following:
>>
>> <?php
>>
>> $file = "test.txt";
>> $fp = fopen($file, "r");
>>
>> while(!feof($fp)) {
>> $data = fgets($fp, 1024);
>>
>> if ((preg_match("/0/",$data)) ||
>> (preg_match("/\"\s\"/",$data)) ||
>> (preg_match("/\"\s\"/",$data))) {
>> //Don't do a thing
>> }
>>
>> }
>> fclose($fp);
>>
>> ?>
>>
>>
>> This is the input file:
>>
>> 1
>> 23kd
>> 3dkd2
>> " "
>> 4
>> 5
>> 6
>>
>> For the output, I get nothing running it from the command prompt, but I
>> would like to have " " in the output,
>> could anyone please give me some guides on what I have done wrong in my
>> regular expression?
>>
>> Thanks for your help.
>>
>> Alice
>>
>>
>>
>>
>>
>>
>> _________________________________________________________________
>> Search from any Web page with powerful protection. Get the FREE Windows Live
>> Toolbar Today!
>> http://get.live.com/toolbar/overview
>
> Ummm... #1 you haven't "output" anything in your code. Your code says,
> if " " is found in $data, then "Don't do a thing".
>
>
>
So if your wanting to see if there is a match in the line and return the
match (which in this example seems pointless because you know that you
are matching ""), then something like this:
if (preg_match("/0/",$data, $matches) ||
preg_match("/\"\s\"/",$data, $matches))
{
print_r($matches);
}
BTW, the second and third conditions in your if appeared to be the same,
also \s matches whitespace, spaces, tabs, returns, etc...
--
Thanks!
-Shawn
http://www.spidean.com
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php