[support] node titles - move "the", numbers to the end

Benjamin Jacob ben4asterisk at yahoo.com
Mon Aug 2 15:23:36 UTC 2010


Thanks guys for your responses.
Will try the regex thing for sure.
I am not sure if either page title or automatic nodetitles solve my problem off-the-shelf.

This is pretty common in different listings, e.g. book listing, video/movie listing, etc.
e.g. The Final Frontier = Final Frontier, The
24 Chowringee Lane = Chowringee lane, 24
etc.

Quite surprising that (as I say) off-the-shelf modules are not available with Drupal. I am not a PHP/Drupal expert (as of yet) but can write this in C/C++ in a jiffy. I hope some of you experts take note :-)

This can be an added feature in the existing modules you described, where the user can specify different tokens (extracted from the title) he/she wants to be appended to the title.

Thanks again.
- Ben


--- On Mon, 8/2/10, Joe CodeWaggle <joe at codewaggle.com> wrote:

> From: Joe CodeWaggle <joe at codewaggle.com>
> Subject: Re: [support] node titles - move "the", numbers to the end
> To: support at drupal.org
> Date: Monday, August 2, 2010, 4:45 AM
> Had another thought:
> 
> You can use a PHP regex function to manipulate the title,
> try
> preg_replace().
> 
> Assuming that your template is based on phptemplate (the
> Drupal default
> template engine), you can work in the "template.php" file
> in your theme
> folder (you can create one if none exists).
> 
> Use the hook for _preprocess_page():
> phptemplate_preprocess_page(&$vars) or ( "your
> template
> name"_preprocess_page(&$vars) ).
> 
> Work with $vars['title'].
> 
> Code Example:
> phptemplate_preprocess_page(&$vars) {
>   // Manipulate the Page Title
>   $current_title = $vars['title'];
>   $searchPattern = '/(.*)(\sthe\s)(.*)/';
> 
>   $new_title = preg_replace($searchPattern, '$1 $3$2',
> $current_title);
>   $vars['title'] = $new_title;
> }
> 
> The search pattern looks for " the ". It keeps track of the
> parts of the
> title, so you can rearrange the pieces.
> 
> If $current_title was 'where is the yummy candy', 
> $new_title would be 'where is yummy candy the'.
> 
> Part one($1) contains 'where is', part two($2) contains '
> the ' and part
> three($3) contains 'yummy candy'.
> 
> Regular Expressions can get pretty involved, so if you
> haven't used them
> before you'll need to spend some time learning how to
> create the search
> pattern that you need.
> 
> Here are a few links to the PHP manual:
> http://www.php.net/manual/en/book.pcre.php
> http://www.php.net/manual/en/function.preg-replace.php
> http://www.php.net/manual/en/reference.pcre.pattern.syntax.php
> 
> A quick Google for "regular expression" or regex will turn
> up tons of info.
> 
> Joe
> 
> 
> -----Original Message-----
> From: support-bounces at drupal.org
> [mailto:support-bounces at drupal.org]
> On
> Behalf Of Benjamin Jacob
> Sent: Sunday, August 01, 2010 2:08 PM
> To: Drupal Support MailList
> Subject: [support] node titles - move "the", numbers to the
> end
> 
> 
> Hi,
> 
> Any way in drupal to manipulate titles so as to have words
> like "the"/"a",
> and numbers to the end?
> 
> 
> Thanks in advance.
> - Ben
> 
> 
>       
> -- 
> [ Drupal support list | http://lists.drupal.org/ ]
> 
> -- 
> [ Drupal support list | http://lists.drupal.org/ ]
> 


      


More information about the support mailing list