Opened 18 years ago
Closed 18 years ago
#4165 closed defect (bug) (fixed)
Info regex is too greedy
Reported by: | kapoylski | Owned by: | rob1n |
---|---|---|---|
Milestone: | 2.3 | Priority: | low |
Severity: | normal | Version: | 2.1 |
Component: | Administration | Keywords: | has-patch |
Focuses: | Cc: |
Description
In the WordPress admin, under Write > Write Page there is a drop-down box for selecting the page template. When I create my own page templates and add them, the box lists them, but includes extra characters alongside the name. If I alter the regular expression used in get_page_templates() in the admin_functions.php on line 1247 file from:
preg_match( "|Template Name:(.*)|i", $template_data, $name );
to:
preg_match( "|Template Name:([^\*]*)|i", $template_data, $name );
It no longer includes the characters. I assume the preg_match statement is just matching too much and returning it as the template name. I'm attaching the two template files that exhibit this problem, as well as a screen-shot of what I'm seeing.
Attachments (1)
Change History (7)
Note: See
TracTickets for help on using
tickets.
Would this line work instead?
Your line excludes asterisks from the match, whereas mine explicitly specifies the end of line outside the matching string. I don't know why yours continues to match beyond the end of the line, but this might work as well and still allow * characters in the Template Name.