You are here: [PHP] Rexex problem « All PHP « IT news, forums, messages
[PHP] Rexex problem

Posted by Fluffy Convict on 06/09/05 23:38

In my school's website, I've found a regex that scans files for
functions which name's end with "_ding". On a match, it scans the
JavaDoc style comment of the function and filers out any @user comments.

Perhaps the following example will explain this better:

---------------------------- PHP: -----------------------------
preg_match_all(
";
/\*\* #Comment start
(?P<Comment>.*?) #Comment contents
\*/ #End of the comment
\s*
function\s+(?P<Function>[a-z0-9_]*_ding) #Function name
;xim",
$file,
$matches,
PREG_SET_ORDER
);
---------------------------------------------------------------

Let's assume $file is scanned with this regex and $file contains the
following function:

/**
* @description This is for internal use
* @user This is to inform the user
*/
function foo_ding() {
return 'foo!';
}

Then the output of the rexex would be "This is to inform the user". Now
my problem. It's really quite simple I imagine for somebody with more
regex experience than I have. I now want to match functions that START
with ding_ and not end with it. So the regex should match

/**
* @user Inform the user
*/
function ding_foo() {
return 'foo you too!'
}

Who knows how to rebuild the regex? I've tried the code here under, but
It failt to return the whole function name. $matches['Function'] returns
"ding_f" instead of "ding_foo". Who can help me rewrite this regex
properly? Your help would be greatly appreciated!

---------------------------- PHP: -----------------------------
preg_match_all(
";
/\*\* #Comment start
(?P<Comment>.*?) #Comment contents
\*/ #End of the comment
\s*
function\s+(?P<Function>ding_*[a-z0-9_]) #Function name
;xim",
$file,
$matches,
PREG_SET_ORDER
);
---------------------------------------------------------------

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация