User:Fl/scripts/achewoodscriptb.php

This is an old revision of this page, as edited by Fl (talk | contribs) at 11:26, 1 November 2008 (added script). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)
<?php
  // Achewood script b, converts references in [[Achewood]] from [website some-description] to some-description<ref>reference</ref> form. [^>] in regex avoids detecting normal references.
require_once 		"pwiki.class.php";
$pw			= new PWiki;

$page = $pw->getPage('Achewood');
preg_match_all('/(?<!>)\[(http:\/\/(www\.a|a)chewood\.com\/(index.php\?|\?)date=([0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9])) (.*?)\]/i', $page, $matches);
$i = 0;
foreach($matches[0] as $match) {
  $matchold = $matches[1][$i];
  $date = $matches[4][$i];
 $fixeddate = substr($date, 4)."-".substr($date, 0,2)."-".substr($date, 2, 2);
 $linktext = $matches[5][$i];
$matchnew = "$linktext<ref>[$matchold $fixeddate]. ''Achewood''</ref>";
 $find[$i] = $match;
 $replace[$i] = $matchnew;
 $i++;
}

$newpage = str_replace($find, $replace, $page);


echo $newpage;
$pw->_exit("End of script.");
?>