ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
* ConvertToConteXt - convert special ConTeXt-characters (PHP)
@ 2011-11-01 16:16 Jan Heinen
  2011-11-01 17:21 ` Peter Münster
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Jan Heinen @ 2011-11-01 16:16 UTC (permalink / raw)
  To: ntg-context

Hello,

I am just programming a catalog which should be printed.

I have a lot of data, text and pictures in a MySQL-database 
and want to generate a nice catalog with ConTeXt.
To get the data from MySQL to ConTeXt I use PHP as an Interface:

MySQL -> PHP -> ConTeXt

And lot's of ConTeXt-macros will make a nice layout :-)

To give something back to this ConTeXt-community, I will put 
some helpfull PHP-functions into the wiki of contextgarden.net.

Today I wrote the function "ConvertToConteXt" which converts 
special ConTeXt-characters. You can see it below.


Before I put it into contextgarden.net ...
1. ... please test it.
2. You see three characters, where I don't know the 
code-number \char??? for ConTeXt. Do you know them?
3. Did I forget to convert a character?

Regards
Jannis



function ConvertToConteXt ( $xstring ) {
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* * * * * * * * *
  *
  *  author: Jörg Kopp
  *          www.dr-kopp.com
  *          01.11.2011
  *
  *      Convert special ConTeXt-characters with php
  *      Works with PHP5
  *
  *      Call it with the string you want to convert ...
  *         ConvertToConteXt ($xstring);
  *
  *      ... and you get back the converted string
  *
  *      e.g.:
  *      Input:
  *          $string = "My root-Directory: /home/hans";
  *          $string = ConvertToConteXt ( $string );
  *
  *      Output/Return:
  *          $string = "My root\\char45Directory\\char58 
\\char47home\\char47hans";
  *
  *      When you write this into a file ...
  *          file_put_contents ( "example.tex", "My 
root\\char45Directory\char58 \\char47home\\char47hans", 
FILE_APPEND );
  *
  *      ... You will find the following in example.tex:
  *          My root\char45Directory\char58 
\char47home\char47hans
  *
  *      An when you compile example.tex with ConTeXt
  *          context example.text
  *
  *      You can read the following in the resulting 
example.pdf:
  *          My root-Directory: /home/hans
  *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* * * * * * * * */

   $xstring = html_entity_decode ( $xstring );             
// convert HTML-entities into normal characters
   $xstring = str_replace ( "!",  "\\char33",  $xstring ); 
// Ausrufungszeichen/ConvertToConteXt
   $xstring = str_replace ( "\"", "\\char34",  $xstring ); 
// Anführungszeichen/quotation mark
   $xstring = str_replace ( "#",  "\\char35",  $xstring ); 
// Raute/number sign
   $xstring = str_replace ( "$",  "\\char36",  $xstring ); 
// Dollar-Zeichen/dollar sign
   $xstring = str_replace ( "%",  "\\char37",  $xstring ); 
// Prozent-Zeichen/percent sign
   $xstring = str_replace ( "&",  "\\char38",  $xstring ); 
// Kaufmännisches Und/ampersand
   $xstring = str_replace ( "'",  "\\char39",  $xstring ); 
// Apostroph/apostrophe
   $xstring = str_replace ( "(",  "\\char40",  $xstring ); 
// Klammer auf/left parenthesis
   $xstring = str_replace ( ")",  "\\char41",  $xstring ); 
// Klammer zu/right parenthesis
   $xstring = str_replace ( "*",  "\\char42",  $xstring ); 
// Stern/asterisk
   $xstring = str_replace ( "+",  "\\char43",  $xstring ); 
// Plus/plus sign
   $xstring = str_replace ( ",",  "\\char44",  $xstring ); 
// Komma/comma
   $xstring = str_replace ( "-",  "\\char45",  $xstring ); 
// Minus/hyphen
   $xstring = str_replace ( ".",  "\\char46",  $xstring ); 
// Punkt/period
   $xstring = str_replace ( "/",  "\\char47",  $xstring ); 
// Schrägstrich/period
   $xstring = str_replace ( ":",  "\\char58",  $xstring ); 
// Doppelpunkt/colon
   $xstring = str_replace ( ";",  "\\char59",  $xstring ); 
// Semikolon/semicolon
   $xstring = str_replace ( "<",  "\\char60",  $xstring ); 
// Kleinerzeichen/less-than
   $xstring = str_replace ( "=",  "\\char61",  $xstring ); 
// Gleichzeichen/equals-to
   $xstring = str_replace ( ">",  "\\char62",  $xstring ); 
// Größerzeichen/greater-than
   $xstring = str_replace ( "?",  "\\char63",  $xstring ); 
// Fragezeichen/question mark
   $xstring = str_replace ( "@",  "\\char64",  $xstring ); 
// at-Zeichen/at sign
   $xstring = str_replace ( "[",  "\\char91",  $xstring ); 
// eckige Klammer auf/left square bracket
   $xstring = str_replace ( "\\", "\\char92",  $xstring ); 
// Backslash/backslash
   $xstring = str_replace ( "]",  "\\char93",  $xstring ); 
// eckige Klammer zu/right square bracket
   $xstring = str_replace ( "^",  "\\char94",  $xstring ); 
// Zirkumflex/caret
   $xstring = str_replace ( "_",  "\\char95",  $xstring ); 
// Unterstrich/underscore
   //$xstring = str_replace ( "°",  "\\char",  $xstring ); 
// Grad/ < ------ missing
   $xstring = str_replace ( "`",  "\\char96",  $xstring ); 
// accent aigu/acute accent
   $xstring = str_replace ( "{",  "\\char123", $xstring ); 
// geschweifte Klammer auf/left curly brace
   $xstring = str_replace ( "|",  "\\char124", $xstring ); 
// Pipezeichen/vertical bar
   $xstring = str_replace ( "}",  "\\char125", $xstring ); 
// geschweifte Klammer zu/right curly brace
   $xstring = str_replace ( "~",  "\\char126",  $xstring ); 
// Tilde/tilde
   //$xstring = str_replace ( "•",  "\\char",  $xstring ); 
// ?/ < ------ missing
   //$xstring = str_replace ( "º",  "\\char",  $xstring ); 
// ?/ < ------ missing

   return $xstring;
}


___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2011-11-01 17:58 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-11-01 16:16 ConvertToConteXt - convert special ConTeXt-characters (PHP) Jan Heinen
2011-11-01 17:21 ` Peter Münster
2011-11-01 17:54 ` Aditya Mahajan
2011-11-01 17:58 ` Philipp Gesang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).