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
___________________________________________________________________________________