BBCode [list] & [list=] Bugs + Non-Compliance Problems T

This forum is now closed. Please ask all styles-related questions in the phpBB 3.0 Styles Support & Discussion Forum.

BBCode [list] & [list=] Bugs + Non-Compliance Problems T

Postby 64bitguy » Mon Oct 10, 2005 8:05 am

Hi

Please note (as demonstrated here as well) that there is a design flaw with the "List" and "List=" phpBB BBCode functions.

In the case of the first function, "list" there is a failure of the function to begin by creating a wrapper and then placing list items within that wrapper. The Compliant method to this function is to first create a "UL" wrapper and then each item would begin and end with "LI".

There are basically two types of lists, organized lists (OL) and unorganized lists (UL)... I won't worry about organized lists (numbered or lettered lists) but rather just concentrate on the problem at with phpBB's UL type lists.

The first issue is that UL type lists are supposed to be "Bulleted" meaning, a bullet would appear before each <li> item in the <ul> list. This simply does not happen in phpBB because <li> functions do not work at all.

The correct formatting and output of the "List" function in phpBB should be output like this:
<ul>
<li>Joe's List Item #1</li>
<li>joe's imporant thing next</li>
<li>joe's next item</li>
</ul>

This is the compliant method of using a "List" function. Any other result is simply non-compliant and without bullets, totally useless.

White the bbcode files have <li> functions in them, they simply do not work. Nothing at all happens with them. If you select items for a list, you simply end up with everything being wrapped in <ul> calls with no <li> calls.

For example, I have put the following 3 items in a list using the "list" button above so the "open" list tag is before the first line and the "closing" /list tag is after the last (third) item.

    Sample List Item 1
    Sample List Item 2
    Sample List Item 3

If you look at the source that this page generates, you will find that the first line starts with <ul> and after each item there is a <br> and at the end there is a </ul> but no <li> and </li> calls for each item.

This makes the Lists coding non-compliant and again, for all intensive purposes not useable.

Next, the "List=" function does nothing at all. It is completely non-functional as demonstrated here. You can try it any number of ways, but it won't do a thing, therefore again, it might as well not exist on the BBcode menu.
[list=]
List Item 1
List Item 2
List Item 3[/list]

I just thought that these major BBcode issues should be reported as these are really desireable features and to have them not work is very frustrating, especially given that they are identied as "features".

Hopefully someone will come up with a fix, or if not, a way to remove (if nothing else the latter of the two) from phpBB.
User avatar
64bitguy
Registered User
 
Posts: 34
Joined: Mon Apr 05, 2004 5:56 am
Location: Manchester, New Hampshire, USA

Postby CTCNetwork » Mon Oct 10, 2005 10:14 am

Hi,
  1. Alpha
  2. Beta
  1. One
  2. Two
  3. Three
The List= is supposed to be used in conjunction with either a letter to have an a,b,c list and with a number for a numeric list.

I thought the point of BBCode was for its being not the same as html tags and thus gave less risk for exploit...

Des. . . :wink:

EDIT: Post Number 11000 :P
Density:- Not just a measurement~Its a whole way of Life.! ! !
| Welcome! | RTFM!!! | Search! Easy! | Problem? | Spam? | Advice! |
| CTCNetwork | Image
|
User avatar
CTCNetwork
Former Team Member
 
Posts: 15418
Joined: Fri Dec 19, 2003 3:50 am
Location: Nottingham

Postby 64bitguy » Mon Oct 10, 2005 10:26 am

Cool... Well at least that's a plus; however, while at least numbered lists use <li> functions, they don't close with a </li>. Here's a copy of the source from this page.
<ol type="a">
<br />
<li> Alpha
<br />
<li> Beta
<br />
</ol><ol type="1">
<br />
<li> One

<br />
<li> Two
<br />
<li> Three</ol>


Again, like the UL function that doesn't have <li> capabilities, this too is non-compliant.

It should be noted though that looking at this might help resolve both bugs. I'm thinking if someone knew this code well, they could write a routine that simply replaces any <br /> (within any <ol> or <ul>) with a </li><li> and to close the list to have a </li></ol> or </li></ul> (depending on what function you were using)

I see that there is some code in the bbcode.php, but it just isn't working right, and it only works (kind of) for the organized lists.

I also think an excellent (okay, a must) starting point would be to have the bbcode.tpl definition of:
Code: Select all
<!-- BEGIN listitem --></li><li><!-- END listitem -->

To replace:
Code: Select all
<!-- BEGIN listitem --><li><!-- END listitem -->

Then someone would need to revise the bbcode.php from there so that opening OL's and UL's were setup to give the <ol><li> and then on each instance of a <br />, replaced that with a listitem. Then when closing each /OL and /UL was delivered as </li></ol> or </li></ul>.

Problem solved.
User avatar
64bitguy
Registered User
 
Posts: 34
Joined: Mon Apr 05, 2004 5:56 am
Location: Manchester, New Hampshire, USA

Postby 64bitguy » Mon Oct 10, 2005 11:24 am

I think the answer is as follows:

1) Change (in the bbcode.php) the * below to be the escaped value of <br /> (which would be great if not for the fact that the very first thing that this does is strip out \n's) or in some manner (through a new function) to recognize the end of a line (only a forced BR) so that it knowns to add this function.
Code: Select all
   $text = str_replace("[*:$uid]", $bbcode_tpl['listitem'], $text);
it won't be simple to force it to recognize the end of every line because the problem is, we aren't going to suppliment the <br />, we need to replace it.... Presently, (at least on my box) this function works for neither UL or OL type of list, but we need a str_replace where it would want to convert the function back to \n to replace that with </li><li>.

2) Change the bbcode.tpl to be:
Code: Select all
<!-- BEGIN ulist_open --><ul><li><!-- END ulist_open -->
<!-- BEGIN ulist_close --></li></ul><!-- END ulist_close -->

<!-- BEGIN olist_open --><ol type="{LIST_TYPE}"><li><!-- END olist_open -->
<!-- BEGIN olist_close --></li></ol><!-- END olist_close -->

<!-- BEGIN listitem --></li><li><!-- END listitem -->


I could be wrong, but I think that this would resolve the issues.

What is strange is that your <ol>'s kind of work, but wrongfully use <br />'s where the shouldn't exist, whereas mine don't work at all with <li>'s.

Next, that <ul>'s don't use them at all.
User avatar
64bitguy
Registered User
 
Posts: 34
Joined: Mon Apr 05, 2004 5:56 am
Location: Manchester, New Hampshire, USA

Postby Technocrat » Mon Oct 10, 2005 10:19 pm

How about this, it will strip the newlines from a list.

In bbcode.php

Find:
Code: Select all
$between_tags = substr($text, $start_index + $start_length, $curr_pos - $start_index - $start_length);


After add:
Code: Select all
                  if( preg_match('/\[list=[0-9]\]/', $match['tag']) ) {
                      $between_tags = str_replace("\n", '', $between_tags);
                      $between_tags = str_replace("\r", '', $between_tags);
                  }


Now there should be nothing to change to a br
User avatar
Technocrat
Registered User
 
Posts: 25
Joined: Sat Nov 20, 2004 12:46 am
Location: California

[FIX] The working fix for me is as follows

Postby 64bitguy » Mon Oct 10, 2005 11:17 pm

While I doubt this is what the founders intended, this fix seems to work:

bbcode.tpl
Find:
Code: Select all
<!-- BEGIN ulist_open --><ul><!-- END ulist_open -->
<!-- BEGIN ulist_close --></ul><!-- END ulist_close -->

<!-- BEGIN olist_open --><ol type="{LIST_TYPE}"><!-- END olist_open -->
<!-- BEGIN olist_close --></ol><!-- END olist_close -->

<!-- BEGIN listitem --><li><!-- END listitem -->

REPLACE with:
Code: Select all
<!-- BEGIN ulist_open --><ul><li><!-- END ulist_open -->
<!-- BEGIN ulist_close --></li></ul><!-- END ulist_close -->

<!-- BEGIN olist_open --><ol type="{LIST_TYPE}"><li><!-- END olist_open -->
<!-- BEGIN olist_close --></li></ol><!-- END olist_close -->

<!-- BEGIN listitem --></li><li><!-- END listitem -->


bbcode.php
Find:
Code: Select all
$between_tags = substr($text, $start_index + $start_length, $curr_pos - $start_index - $start_length);


After add:
Code: Select all
                        if( preg_match('/\[list=[a-zA-Z0-9]\]/', $match['tag']) ) {
                         $between_tags = str_replace("\r\n", '</li><li>', $between_tags);
                         }
                         if( preg_match('[list]', $match['tag']) ) {
                         $between_tags = str_replace("\r\n", '</li><li>', $between_tags);
                         }


This makes the code 100% W3C Compliant.

For a Demonstration, see: http://78.64bit.us/modules.php?name=For ... ic&p=75#75

If anyone finds a more elegant way to do this in the confines of the bbcode.php, please advise.

Thanks
User avatar
64bitguy
Registered User
 
Posts: 34
Joined: Mon Apr 05, 2004 5:56 am
Location: Manchester, New Hampshire, USA

Postby Lumpy Burgertushie » Tue Oct 11, 2005 6:09 am

well, I think that what you have done is great, and you should submit it as a MOD .
however, bbcode was never intended to be a complete replacement for html.

you will find there are many html tags that are not reproduced in bbcode.


luck,
robert
Private support on a donation basis. PM me.
Image
NEW phpBB2 SUPPORT SITE
User avatar
Lumpy Burgertushie
Registered User
 
Posts: 36242
Joined: Mon May 02, 2005 3:11 am

Postby 64bitguy » Tue Oct 11, 2005 6:14 am

Actually the feature is already there.

This fix merely makes it compliant and functional. I don't think it really applies as a mod, but rather (at least in this hacked methodology) it exists as a "patch". That is until someone finds a better way to resolve the issue.

Special thanks to Technocrat for the idea that sparked this solution.

Steph
User avatar
64bitguy
Registered User
 
Posts: 34
Joined: Mon Apr 05, 2004 5:56 am
Location: Manchester, New Hampshire, USA

Postby Technocrat » Tue Oct 11, 2005 3:33 pm

I am always willing to lend a hand :)
User avatar
Technocrat
Registered User
 
Posts: 25
Joined: Sat Nov 20, 2004 12:46 am
Location: California

Postby pentapenguin » Tue Oct 11, 2005 3:36 pm

I haven't tested it yet, but if that does work that would be a great fix. :)
I would second Lumpy Burgertushie's idea: make this a MOD and submit it.
The the KB for some articles if you don't know how.
Support Resources: Support Request Template
My Sites: Download my phpBB MODs | pentapenguin.com
If you need professional assistance with your board, please contact me for my reasonable rates.
User avatar
pentapenguin
Former Team Member
 
Posts: 11032
Joined: Thu Jul 01, 2004 4:15 am
Location: GA, USA

Postby rgross » Tue Oct 11, 2005 5:05 pm

What exactly would be the benefit to making these changes? The feature will still work as it originally did, with no added functionality, correct? Or am I missing something?
rgross
Registered User
 
Posts: 127
Joined: Fri Dec 10, 2004 7:22 am

Re: [FIX] The working fix for me is as follows

Postby NeoThermic » Tue Oct 11, 2005 5:42 pm

64bitguy wrote:If anyone finds a more elegant way to do this in the confines of the bbcode.php, please advise.




Xore once did a solution... its a bit... large, but it also solves the problem of having nested lists, ala:

  • Item 1
  • Item 2
  • Item 3
    1. Sub Item 1
    2. Sub Item 2
    3. Sub Item 3
  • Item 4


(how does your code above handle that? )

So here is a direct quote from Xore's post:

Xore wrote:
  • Open includes/bbcode.php
    • Find:
      Code: Select all
         // [list] and [list=x] for (un)ordered lists.
         // unordered lists
         $text = str_replace("[list:$uid]", $bbcode_tpl['ulist_open'], $text);
         // li tags
         $text = str_replace("[*:$uid]", $bbcode_tpl['listitem'], $text);
         // ending tags
         $text = str_replace("[/list:u:$uid]", $bbcode_tpl['ulist_close'], $text);
         $text = str_replace("[/list:o:$uid]", $bbcode_tpl['olist_close'], $text);
         // Ordered lists
         $text = preg_replace("/\[list=([a1]):$uid\]/si", $bbcode_tpl['olist_open'], $text);


      Replace with:

      Code: Select all
         // [list] and [list=x] for (un)ordered lists.
         // unordered lists
         $text = str_replace("[list:$uid]", $bbcode_tpl['ulist_open'], $text);
         // li tags
         $text = str_replace("[*:$uid]", $bbcode_tpl['listitem_open'], $text);
         $text = str_replace("[*:c:$uid]", $bbcode_tpl['close_listitem_open'], $text);
         // ending tags
         $text = str_replace("[/list:u:$uid]", $bbcode_tpl['ulist_close'], $text);
         $text = str_replace("[/list:o:$uid]", $bbcode_tpl['olist_close'], $text);
         $text = str_replace("[/list:v:$uid]", $bbcode_tpl['close_ulist_close'], $text);
         $text = str_replace("[/list:p:$uid]", $bbcode_tpl['close_olist_close'], $text);
         // Ordered lists
         $text = preg_replace("/\[list=([a1]):$uid\]/si", $bbcode_tpl['olist_open'], $text);

    • Find:
      Code: Select all
         // [list] and [list=x] for (un)ordered lists.
         $open_tag = array();
         $open_tag[0] = "[list]";


         // unordered..
         $text = bbencode_first_pass_pda($text, $uid, $open_tag, "[/list]", "[/list:u]", false, 'replace_listitems');

         $open_tag[0] = "[list=1]";
         $open_tag[1] = "[list=a]";

         // ordered.
         $text = bbencode_first_pass_pda($text, $uid, $open_tag, "[/list]", "[/list:o]",  false, 'replace_listitems');


      Replace With:

      Code: Select all
         // ordered + unordered [list]s
         $text = bbencode_first_pass_lists_pda($text,$uid);

    • Find:
      Code: Select all
      ?>


      Before, Add:

      Code: Select all
      function bbencode_first_pass_lists_pda($text,$uid)
      {
         // converting everything to lowercase because i'm not using caseless regular expressions and the alternative is daunting.
         // Note: PHP5 contains "stripos" -> if/when phpBB moves to version 5, this next step won't be necessary, or the dual edits.
         $easytext = strtolower($text);
         $stack = array();   // symbol stack
         $position = 0;      // This is a one pass parser, so we'll keep track of our position in this variable.
                        // When we insert bbcode uid's into the string before our cursor position, its important to advance this accordingly.
         $next = array();   // this is our "next" symbol queue so we always know what the next symbol to process is
                        //  in case of multiple contiguous entry, we always recalculate the next instance of our current symbol at the end of the loop (see below)
         //
         // This is ugly, but we don't get === until PHP4, so, we're going to check if we have any [list] items immediately into our post.
         // Back compatibility. have to test boundary 0 case, since we can't tell if it's false or not.
         //
         // (ie, if this were PHP 4, we could step strait into our $next allocation), with a little tweaking.
         //
         $zerocheck = array('[list]','[list=1]','[list=a]');
         $zerotypes = array('u','o','o');
         for ($i = 0; $i < count($zerocheck); $i++ )
         {
            if ( (strlen($easytext) >= strlen($zerocheck[$i])) && (substr($easytext,0,strlen($zerocheck[$i])) == $zerocheck[$i] ) )
            {
               $stack[0] = array($zerotypes[$i],strlen($zerocheck[$i])-1,array());
               $position = strlen($zerocheck[$i]);
               break;   // out of for loop... there can only be one of these tags at the 0th position.
            }
         }
         $next[strpos($easytext,'[*]',$position)] = '[*]';
         $next[strpos($easytext,'[list]',$position)] = '[list]';
         $next[strpos($easytext,'[list=1]',$position)] = '[list=1]';
         $next[strpos($easytext,'[list=a]',$position)] = '[list=a]';
         $next[strpos($easytext,'[/list]',$position)] = '[/list]';
         if ( isset($next[0]) )
         {
            unset($next[0]);
         }
         ksort($next);
         while ( count($next) )
         {
            list($position,$symbol) = each($next);
            $begin_position = $position;
            $symbollen = strlen($symbol);
            switch ( $symbol )
            {
               case '[*]': // List element -> would convert to bbcode here, but we haven't been guaranteed a closed list, moving it to stack subarray
                  if ( count($stack) )
                  {
                     $stack[count($stack) - 1][2][] = $position;
                  }
                  $position += $symbollen;   // advance cursor past [*]
                  break;
               case '[list]': // Enter a new depth of list
                  $stack[count($stack)] = array('u',$position + $symbollen - 1,array());
                  $position += $symbollen;   // advance cursor past [list]
                  break;
               case '[list=1]':
               case '[list=a]': // Enter a new depth of list
                  $stack[count($stack)] = array('o',$position + $symbollen - 1,array());
                  $position += $symbollen;   // advance cursor past [list=(a|1)]
                  break;
               case '[/list]': // Exits a list
                  if ( count($stack) )
                  {
                     $type = $stack[count($stack) - 1][0];
                     $alttype = ($type == 'u') ? 'v' : 'p';
                     $insert_pos = $stack[count($stack) - 1][1];
                     if ( count($stack[count($stack) - 1][2]) == 0 ) // start with the close tag so all previous position tags are still valid
                     {   // </(u|o)l>
                        $text = substr($text,0,$position) . "[/list:$type:$uid]" . substr($text,$position+$symbollen);
                        $easytext = substr($easytext,0,$position) . "[/list:$type:$uid]" . substr($easytext,$position+$symbollen);
                        $position += strlen("[/list:$type:$uid]");
                     }
                     else
                     {   // </li></(u|o)l>
                        $text = substr($text,0,$position) . "[/list:$alttype:$uid]" . substr($text,$position+$symbollen);
                        $easytext = substr($easytext,0,$position) . "[/list:$alttype:$uid]" . substr($easytext,$position+$symbollen);
                        $position += strlen("[/list:$alttype:$uid]");
                     }
                     for ( $i = count($stack[count($stack) - 1][2]) - 1; $i >= 0; $i-- ) // work backwards through the [*] so that previous pos tags are valid
                     {
                        $li_insertpos = $stack[count($stack) - 1][2][$i];
                        $insert = ($i != 0) ? "[*:c:$uid]" : "[*:$uid]"; // <li> vs </li><li>
                        $text = substr($text,0,$li_insertpos) . $insert . substr($text,$li_insertpos + strlen('[*]'));
                        $easytext = substr($text,0,$li_insertpos) . $insert . substr($easytext,$li_insertpos + strlen('[*]'));
                        $position += strlen($insert) - strlen('[*]');
                     }
                     $text = substr($text,0,$insert_pos) . ":$uid" . substr($text,$insert_pos);
                     $easytext = substr($text,0,$insert_pos) . ":$uid" . substr($easytext,$insert_pos);
                     $position += strlen(":$uid");
                     unset($stack[count($stack) - 1]);
                  }
                  else
                  {
                     $position += $symbollen;
                  }
                  break;
            }

            if ( $begin_position + $symbollen == $position )
            {
               unset($next[$begin_position]);
               $next[strpos($easytext,$symbol,$position)] = $symbol;
            }
            else // only recalculate all entries if it's really necessary (that is, when we've processed a [/list])
            {
               $next = array();
               $next[strpos($easytext,'[*]',$position)] = '[*]';
               $next[strpos($easytext,'[list]',$position)] = '[list]';
               $next[strpos($easytext,'[list=1]',$position)] = '[list=1]';
               $next[strpos($easytext,'[list=a]',$position)] = '[list=a]';
               $next[strpos($easytext,'[/list]',$position)] = '[/list]';
            }
            if ( isset($next[0]) )
            {
               unset($next[0]);
            }
            ksort($next);
            // from php.net: "I believe documentation should mention which of array-functions do reset the internal pointer; this one does so ..."
         }
         return $text;
      }
  • Open templates/subSilver/bbcode.tpl
      Find:
      Code: Select all
      <!-- BEGIN ulist_open --><ul><!-- END ulist_open -->
      <!-- BEGIN ulist_close --></ul><!-- END ulist_close -->

      <!-- BEGIN olist_open --><ol type="{LIST_TYPE}"><!-- END olist_open -->
      <!-- BEGIN olist_close --></ol><!-- END olist_close -->

      <!-- BEGIN listitem --><li><!-- END listitem -->


      Replace With:

      Code: Select all
      <!-- BEGIN ulist_open --><ul><!-- END ulist_open -->
      <!-- BEGIN ulist_close --></ul><!-- END ulist_close -->
      <!-- BEGIN close_ulist_close --></li></ul><!-- END close_ulist_close -->

      <!-- BEGIN olist_open --><ol type="{LIST_TYPE}"><!-- END olist_open -->
      <!-- BEGIN olist_close --></ol><!-- END olist_close -->
      <!-- BEGIN close_olist_close --></li></ol><!-- END close_olist_close -->

      <!-- BEGIN listitem_open --><li><!-- END listitem_open -->
      <!-- BEGIN close_listitem_open --></li><li><!-- END close_listitem_open -->



NeoThermic
NeoThermic.com... a well of information. Ask me for the bit bucket so you can drink its goodness. ||新熱です
User avatar
NeoThermic
Styles Team Member
Styles Team Member
 
Posts: 2141
Joined: Thu Dec 25, 2003 1:33 am
Location: United Kingdom

Postby 64bitguy » Tue Oct 11, 2005 10:04 pm

Actually, my code handles nested items with absolutely no problems.

I did discover however, that when I went back in to re-edit old lists or to do a quote type of reply, that the data within the post showed <li></li> for those items which would not be proper for BBCoding.

Thus, I have fixed this situation by doing the following:

bbcode.tpl
FIND Where I had:
Code: Select all
<!-- BEGIN listitem --></li><li><!-- END listitem -->

or if you have:
Code: Select all
<!-- BEGIN listitem --><li><!-- END listitem -->

REPLACE with:
Code: Select all
<!-- BEGIN list_item --></li><li><!-- END list_item -->


So the Total result of the section looks like this:
Code: Select all
<!-- BEGIN ulist_open --><ul><li><!-- END ulist_open -->
<!-- BEGIN ulist_close --></li></ul><!-- END ulist_close -->

<!-- BEGIN olist_open --><ol type="{LIST_TYPE}"><li><!-- END olist_open -->
<!-- BEGIN olist_close --></li></ol><!-- END olist_close -->

<!-- BEGIN list_item --></li><li><!-- END list_item -->

bbcode.php
FIND:
Code: Select all
   // li tags
   $text = str_replace("[*:$uid]", $bbcode_tpl['listitem'], $text);

REPLACE WITH:
Code: Select all
   // li tags
   $text = str_replace("[listitem:$uid]", $bbcode_tpl['list_item'], $text);


FIND:
Code: Select all
                  // everything after the opening tag, but before the closing tag.
                  $between_tags = substr($text, $start_index + $start_length, $curr_pos - $start_index - $start_length);


ADD AFTER:
Code: Select all
                        if( preg_match('/\[list=[a-zA-Z0-9]\]/', $match['tag']) ) {
                        $between_tags = str_replace("\r\n", '[listitem]', $between_tags);
                         }
                         if( preg_match('[list]', $match['tag']) ) {
                  $between_tags = str_replace("\r\n", '[listitem]', $between_tags);                            
                  }


NOTE: If you have already done my mod, you'll notice that the only thing I am doing here is replacing the </li><li> calls with a [listitem] call.

FIND:
Code: Select all
function replace_listitems($text, $uid)
{
   $text = str_replace("[*]", "[*:$uid]", $text);

   return $text;
}

REPLACE WITH:
Code: Select all
function replace_listitems($text, $uid)
{
   $text = str_replace("[listitem]", "[listitem:$uid]", $text);

   return $text;
}


Now, what this does is take any hard return (what you would do between items) and turn that into a [listitem] funcion on the page.

Problem solved and if you visit http://78.64bit.us/modules.php?name=For ... ic&p=75#75 you will notice that everything works, you don't see the html formatted tags when you go back and "edit" a post later and it is 100% W3C Compliant.

Steph
Last edited by 64bitguy on Wed Oct 12, 2005 12:43 am, edited 1 time in total.
User avatar
64bitguy
Registered User
 
Posts: 34
Joined: Mon Apr 05, 2004 5:56 am
Location: Manchester, New Hampshire, USA

Postby NeoThermic » Tue Oct 11, 2005 11:10 pm

64bitguy wrote:100% W3C Compliant.


Just wanted to be extreamly anal about this, but your doctype is incorrect, hence your forcing the browser into quirks mode.

Your doctype is currently:

Code: Select all
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">


Where it should be:

Code: Select all
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">


Apart from that, not bad.

Also moving this over to styles discussion, as I don't think it should sit in support :)

NeoThermic
NeoThermic.com... a well of information. Ask me for the bit bucket so you can drink its goodness. ||新熱です
User avatar
NeoThermic
Styles Team Member
Styles Team Member
 
Posts: 2141
Joined: Thu Dec 25, 2003 1:33 am
Location: United Kingdom

Postby 64bitguy » Wed Oct 12, 2005 6:48 am

Thanks for the feedback, I fixed that header issue. I had it deprecated for some other testing and forgot about it.

Regarding this situation, I guess I like the fix that you provided better than my own as it more elegantly handles the issue; however, I'm trying to automate the
Code: Select all
[*]
function by having every \r\n (that would appear automatically between each item when users simply hit return key) be replaced by that * function.

So I guess what I am asking is, is there an easy way to modify the presented solution to do that so that each item in a list doesn't need the [ * ] but rather users can hit the enter key and the item (which is within the list function) automatically be turned into a [ * ]?

Thanks
Steph
User avatar
64bitguy
Registered User
 
Posts: 34
Joined: Mon Apr 05, 2004 5:56 am
Location: Manchester, New Hampshire, USA

Next

Return to [2.0.x] Styles Development & Discussion

Who is online

Users browsing this forum: No registered users and 4 guests