Re: Strip alternating spaces in first word of paragraph

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Aaron Gould wrote:
> I have a series of paragraphs in which the first word contains
> alternating spaces.  How can I strip out the spaces of only this first
> word, while leaving the remainder of the paragraph untouched?
>
> Here's an example:
>
> T h i s is the first paragraph. Only the first word is wacky.
>
> A n o t h e r paragraph with a wacky first word! Strange stuff...
>
> E n d l e s s insanity here!

Untested code:
<?php
  $text = ltrim($text); //Just in case a leading space gets in there...
  //Convert Mac/PC/Unix newlines:
  $text = str_replace("\r\n", "\n", $text);
  $text = str_replace("\r", "\n", $text);
  $paragraphs = explode("\n", $text);
  $new_text = '';
  while (list(, $paragraph) = each($paragraphs)){
    for ($second_word_second_letter = 1; $second_word_second_letter <
count($paragraph) && $paragraph[$second_word_second_letter] != ' ';
$second_word_second_letter += 2){
      //an empty body with no code on purpose.  see above
    }
    $first_word_end = $second_word_second_letter - 2;
    $first_word_end = max(0, $first_word_end);
    $first_word = substr($text, 0, $first_word_end);
    $rest = substr($text, $first_word_end + 1);
    $first_word = str_replace(' ', '', $first_word);
    $new_text .= trim("$first_word $rest") . "\n";
  }
?>

I think I've avoided all the ways a blank paragraphs would get bogus
results, but...

-- 
Like Music?
http://l-i-e.com/artists.htm

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux