Changeset 103

Show
Ignore:
Timestamp:
11/10/06 17:01:02 (2 years ago)
Author:
akiyan
Message:

--

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • pukiwiki2tracwiki/pukiwiki2tracwiki.sh

    r102 r103  
    1 #!php 
     1#!/usr/local/bin/php 
    22<?php 
    3 /** 
    4  * = example = 
    5  * 
    6  * [Comand Line] php pukiwiki2tracwiki.php < /PATH/TO/SOURCE_FILE 
    7  * 
    8  */ 
    9  
    103$body = join('', file('php://stdin')); 
    114$body = convHead($body); 
     5$body = convPre($body); 
    126$body = convList($body); 
    137$body = removeAnchor($body); 
     
    1812function convHead($body) 
    1913{ 
     14  //preg_match_all('!^\*.*$!m', $body, $match); var_dump($match);exit; 
    2015  $body = preg_replace('!^\*([^\*].*)$!m', '= $1 =', $body); 
    2116  $body = preg_replace('!^\*\*([^\*].*)$!m', '== $1 ==', $body); 
    2217  $body = preg_replace('!^\*\*\*([^\*].*)$!m', '=== $1 ===', $body); 
     18  //var_dump($body);exit; 
    2319  return $body; 
     20} 
     21function convPre($body) 
     22{ 
     23  $lines = mb_split("\n", $body); 
     24  $result = array(); 
     25  $start_pre = false; 
     26  foreach ($lines as $line) { 
     27    if (preg_match('!^ !', $line)) { 
     28      if (!$start_pre) { 
     29        $start_pre = true; 
     30        $result[] = '{{{'; 
     31      } 
     32      $result[] = preg_replace('!^ !', '', $line); 
     33    } else { 
     34      if ($start_pre) { 
     35        $result[] = '}}}'; 
     36      } 
     37      $start_pre = false; 
     38      $result[] = $line; 
     39    } 
     40  } 
     41  if ($start_pre) { 
     42   $result[] = '}}}'; 
     43  } 
     44  return join("\n", $result); 
    2445} 
    2546function convLIst($body) 
     
    3758  $body = preg_replace('!^#contents!m', '[[PageOutline]]', $body); 
    3859  $body = preg_replace('!^#ls2\((.+?)\)!m', '[[TitleIndex($1)]]', $body); 
     60  $body = preg_replace('!^#ref\((.+?)\)!m', 'attachment:"$1"', $body); 
    3961  return $body; 
    4062}