Textpattern CMS support forum
You are not logged in. Register | Login | Help
- Topics: Active | Unanswered
#25 2009-06-24 20:43:06
- thread
- New Member
- Registered: 2009-06-24
- Posts: 2
Re: [textile] Textile and lists bug
I’ve tried every version of classTextile.php I could find. That includes pulling a copy from Textpattern 4.0.8.
I still have the issue! I’ve tried on 2 machines and got the same results. One has PHP 5.2.8, and the other has 5.2.9-pl2-gentoo.
I’ve verified that my fList function includes the code
foreach($text as $nr => $line) {
$nextline = isset($text[$nr+1]) ? $text[$nr+1] : false;
I’m testing this by adding the following code to the top of the textile class and running the .php file on the command line.
$g = new Textile();
echo $g->TextileThis("* test\n* test\n\n* test");
… I’d expect to see
<ul>
<li>test</li>
<li>test</li>
<li>test</li>
</ul>
but I actually get, whitespace aside,
<ul>
<li>test</li>
<li>test</li>
</ul>
<ul>
<li>test</li>
</ul>
What else is there to try!?
Thanks muchly, all.
Offline
#26 2009-06-24 21:00:41
- els
- Moderator
- From: The Netherlands
- Registered: 2004-06-06
- Posts: 7,458
Re: [textile] Textile and lists bug
Sorry, probably a superfluous question, but did you re-save your articles?
Offline
#27 2009-06-24 21:14:52
- thread
- New Member
- Registered: 2009-06-24
- Posts: 2
Re: [textile] Textile and lists bug
Doh – I had fixed it and didn’t even realize it. I got exactly what I should have given my input. :)
Sorry for the noise, all.
Offline
Re: [textile] Textile and lists bug
I have the same problem with a php 5.3 (default version on mac os x snow leopard)
I tried the first bugfix,
$nextline = isset($text[$nr+1]) ? $text[$nr+1] : false;
it works for simple list, but not for list in list like this one:
- a 1
- b 2
- b 3
- c 4
- b 5
- c 6
- d 7
- d 8
- c 6
- a 9
- a 10
- b 11
- b 12
- a 13
- a 14
there is a problem using foreach / next / updating “$line”
I replace them by a more classical structure
replace lines 466 to 471 by
function fList($m)
{
$text = explode("\n", $m[0]);
$i=0;
$nbrline=count($text);
while($i<$nbrline) {
$line=$text[$i];
$i++;
if($i==$nbrline) $nextline='';
else $nextline=$text[$i];
if (preg_match("/^([#*]+)($this->a$this->c) (.*)$/s", $line, $m)) {
the initial version works on textile.thresholdstate.com because it’s a 5.1.6 version
http://textile.thresholdstate.com/phpinfo.php
I think the version in textpattern has the same issue.
thanks for your work.
Last edited by Aurelien @ilpleut ANTOINE (2009-11-12 10:31:11)
Offline
#29 2010-05-28 17:51:40
- mashdot
- New Member
- Registered: 2010-05-28
- Posts: 1
Offline