[Templates] Converting from old template language which allows
nested tags into TT template
Robin Smidsrød
robin@smidsrod.no
Fri, 20 Oct 2006 01:33:56 +0200
This is a cryptographically signed message in MIME format.
--------------ms020008060605020408000007
Content-Type: multipart/mixed;
boundary="------------070407020406080804020103"
This is a multi-part message in MIME format.
--------------070407020406080804020103
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Josh Rosenbaum wrote:
>
> For your other problems: If you don't have many places to fix, I'd
> just use a regexp to find all the occurrences of these tags and then
> you can keep replacing them. Patterns that are used over and over you
> can do a search and replace on using a regexp, saving yourself lots of
> time. (You could also output the changes and require that you input
> "Y" for each one.)
In this particular instance, could you try and help me out with a regexp
that will work? I'm so lost sometimes when it comes to these things.
Particularely. if I have a string that containts "1234 1234 [% bla [%
xyz %] abc [% asdf %] baz %] foo [% bar %] bla bla", how do I isolate
the outer and inner tag in a smart way? I was thinking about storing the
position in the string, so that I could later insert the variable at
that point. If I try to just match on /\[\% (.*?) \%\]/ $1 will containt
"bla [% xyz", and that's not quite what I want. At the same time, if I
omit the question-mark, it will suddenly trap "bla [% xyz %] abc [% asdf
%] baz %] foo [% bar", which is not quite what I want either... As I
said, the logic of regexp sometimes eludes me...
-- Robin
--------------070407020406080804020103
Content-Type: text/x-vcard; charset=utf-8;
name="robin.vcf"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
filename="robin.vcf"
begin:vcard
fn;quoted-printable:Robin Smidsr=C3=B8d
n;quoted-printable:Smidsr=C3=B8d;Robin
org;quoted-printable:Smidsr=C3=B8d Consulting
adr;quoted-printable:;;Vestre Ekeberg 32;Bark=C3=A5ker;Vestfold;3157;Norway
email;internet:robin@smidsrod.no
title:IT-konsulent
tel;work:+47 33019468
tel;home:+47 33019405
tel;cell:+47 91593393
x-mozilla-html:FALSE
url:http://www.smidsrod.no
version:2.1
end:vcard
--------------070407020406080804020103--
--------------ms020008060605020408000007
Content-Type: application/x-pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"
Content-Description: S/MIME Cryptographic Signature
MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIJOTCC
AvcwggJgoAMCAQICEDeHuJ7/ZCw/L0ENpFOkhjMwDQYJKoZIhvcNAQEEBQAwYjELMAkGA1UE
BhMCWkExJTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMT
I1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBMB4XDTA2MDUwODA5NDgwM1oX
DTA3MDUwODA5NDgwM1owXjERMA8GA1UEBBMIU21pZHNyb2QxDjAMBgNVBCoTBVJvYmluMRcw
FQYDVQQDEw5Sb2JpbiBTbWlkc3JvZDEgMB4GCSqGSIb3DQEJARYRcm9iaW5Ac21pZHNyb2Qu
bm8wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9GHojv0THphDp4ZoZQojiH49k
TZOfukwf7Z4G83sSrd+kHoZTUcuUToo5HWJQW8KikxQAaUYeVUDOx/+LpKUT0A8FADDWWCKo
z8WhB90Rz15JBbYinKtfvMS48QquKVHPpumiGtsRI1DDH+AO0Vi3XZpZ9HBMCAPC1EQ81f9+
VnyEYzbr6Ns65J5cgb+ZYbZEtjBZjj1tdWelyfcYVUoF9j1DQ09MChTDUUx30x7wcL517ZEx
e+hM+/stbhFT59GJGNSSOBg7gdOcVW9SWIxUh1JYxNJ3G5CBJlHeBsiWsqvYeLtdRugQiogy
XH8VwUFgaVLZ4hvcQxfWF8KL5zdRAgMBAAGjLjAsMBwGA1UdEQQVMBOBEXJvYmluQHNtaWRz
cm9kLm5vMAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEEBQADgYEAlXSseqHBEqtTlWWqrV43
HQCfHWzPaOCMPP18rc0JLfm3FMoDTZ3pv0C2GDHtvtcJKYrAOjH4UrbKx2FRUp3PLtuCA+V8
J7Kpu7VhBQqzboBV4+2U6x/3Uzk3LaNH2x/J+ZwQYxApqjpLQLjReaJWKg30CMyixggxBvMp
QNKEy6EwggL3MIICYKADAgECAhA3h7ie/2QsPy9BDaRTpIYzMA0GCSqGSIb3DQEBBAUAMGIx
CzAJBgNVBAYTAlpBMSUwIwYDVQQKExxUaGF3dGUgQ29uc3VsdGluZyAoUHR5KSBMdGQuMSww
KgYDVQQDEyNUaGF3dGUgUGVyc29uYWwgRnJlZW1haWwgSXNzdWluZyBDQTAeFw0wNjA1MDgw
OTQ4MDNaFw0wNzA1MDgwOTQ4MDNaMF4xETAPBgNVBAQTCFNtaWRzcm9kMQ4wDAYDVQQqEwVS
b2JpbjEXMBUGA1UEAxMOUm9iaW4gU21pZHNyb2QxIDAeBgkqhkiG9w0BCQEWEXJvYmluQHNt
aWRzcm9kLm5vMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvRh6I79Ex6YQ6eGa
GUKI4h+PZE2Tn7pMH+2eBvN7Eq3fpB6GU1HLlE6KOR1iUFvCopMUAGlGHlVAzsf/i6SlE9AP
BQAw1lgiqM/FoQfdEc9eSQW2IpyrX7zEuPEKrilRz6bpohrbESNQwx/gDtFYt12aWfRwTAgD
wtREPNX/flZ8hGM26+jbOuSeXIG/mWG2RLYwWY49bXVnpcn3GFVKBfY9Q0NPTAoUw1FMd9Me
8HC+de2RMXvoTPv7LW4RU+fRiRjUkjgYO4HTnFVvUliMVIdSWMTSdxuQgSZR3gbIlrKr2Hi7
XUboEIqIMlx/FcFBYGlS2eIb3EMX1hfCi+c3UQIDAQABoy4wLDAcBgNVHREEFTATgRFyb2Jp
bkBzbWlkc3JvZC5ubzAMBgNVHRMBAf8EAjAAMA0GCSqGSIb3DQEBBAUAA4GBAJV0rHqhwRKr
U5Vlqq1eNx0Anx1sz2jgjDz9fK3NCS35txTKA02d6b9Athgx7b7XCSmKwDox+FK2ysdhUVKd
zy7bggPlfCeyqbu1YQUKs26AVePtlOsf91M5Ny2jR9sfyfmcEGMQKao6S0C40XmiVioN9AjM
osYIMQbzKUDShMuhMIIDPzCCAqigAwIBAgIBDTANBgkqhkiG9w0BAQUFADCB0TELMAkGA1UE
BhMCWkExFTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMRowGAYD
VQQKExFUaGF3dGUgQ29uc3VsdGluZzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNl
cyBEaXZpc2lvbjEkMCIGA1UEAxMbVGhhd3RlIFBlcnNvbmFsIEZyZWVtYWlsIENBMSswKQYJ
KoZIhvcNAQkBFhxwZXJzb25hbC1mcmVlbWFpbEB0aGF3dGUuY29tMB4XDTAzMDcxNzAwMDAw
MFoXDTEzMDcxNjIzNTk1OVowYjELMAkGA1UEBhMCWkExJTAjBgNVBAoTHFRoYXd0ZSBDb25z
dWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBJ
c3N1aW5nIENBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDEpjxVc1X7TrnKmVoeaMB1
BHCd3+n/ox7svc31W/Iadr1/DDph8r9RzgHU5VAKMNcCY1osiRVwjt3J8CuFWqo/cVbLrzwL
B+fxH5E2JCoTzyvV84J3PQO+K/67GD4Hv0CAAmTXp6a7n2XRxSpUhQ9IBH+nttE8YQRAHmQZ
cmC3+wIDAQABo4GUMIGRMBIGA1UdEwEB/wQIMAYBAf8CAQAwQwYDVR0fBDwwOjA4oDagNIYy
aHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVBlcnNvbmFsRnJlZW1haWxDQS5jcmwwCwYD
VR0PBAQDAgEGMCkGA1UdEQQiMCCkHjAcMRowGAYDVQQDExFQcml2YXRlTGFiZWwyLTEzODAN
BgkqhkiG9w0BAQUFAAOBgQBIjNFQg+oLLswNo2asZw9/r6y+whehQ5aUnX9MIbj4Nh+qLZ82
L8D0HFAgk3A8/a3hYWLD2ToZfoSxmRsAxRoLgnSeJVCUYsfbJ3FXJY3dqZw5jowgT2Vfldr3
94fWxghOrvbqNOUQGls1TXfjViF4gtwhGTXeJLHTHUb/XV9lTzGCA2QwggNgAgEBMHYwYjEL
MAkGA1UEBhMCWkExJTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAq
BgNVBAMTI1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBAhA3h7ie/2QsPy9B
DaRTpIYzMAkGBSsOAwIaBQCgggHDMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZI
hvcNAQkFMQ8XDTA2MTAxOTIzMzM1NlowIwYJKoZIhvcNAQkEMRYEFHddoaDObvUjUfHh8df2
pQisdHP+MFIGCSqGSIb3DQEJDzFFMEMwCgYIKoZIhvcNAwcwDgYIKoZIhvcNAwICAgCAMA0G
CCqGSIb3DQMCAgFAMAcGBSsOAwIHMA0GCCqGSIb3DQMCAgEoMIGFBgkrBgEEAYI3EAQxeDB2
MGIxCzAJBgNVBAYTAlpBMSUwIwYDVQQKExxUaGF3dGUgQ29uc3VsdGluZyAoUHR5KSBMdGQu
MSwwKgYDVQQDEyNUaGF3dGUgUGVyc29uYWwgRnJlZW1haWwgSXNzdWluZyBDQQIQN4e4nv9k
LD8vQQ2kU6SGMzCBhwYLKoZIhvcNAQkQAgsxeKB2MGIxCzAJBgNVBAYTAlpBMSUwIwYDVQQK
ExxUaGF3dGUgQ29uc3VsdGluZyAoUHR5KSBMdGQuMSwwKgYDVQQDEyNUaGF3dGUgUGVyc29u
YWwgRnJlZW1haWwgSXNzdWluZyBDQQIQN4e4nv9kLD8vQQ2kU6SGMzANBgkqhkiG9w0BAQEF
AASCAQC4HSdscTrS59K/Z6Cmm8Fgjm/xS9MrgliKMkvYzfoEqleWsgND+PV1/u+HVReqVanQ
FsxlfjvgMkNN1ByPd0lXeZrFnh3U0ggSMF2NezKliUEwr1bT0Kq5OKjT5SJ61psLXYF9xZBd
o2tCfSlHt0NmIuYYL0jcm0nSXRiiByrC+JZbyjJDmfOHOsiAn/xTVJ+Qs2VsMICgPYEijaE/
fUsRVdcGNsmadNyg9B5Ht5Ve/4pgO2K9fRSLGQaPEyNFRZToZO/+IG1RfXdhzcLpIDy8hEbS
H1UUhmlFge1ziiFLxMboGuGA1+/yifeaVTpuvuyFu6i23wXCEUumuwMfUQGWAAAAAAAA
--------------ms020008060605020408000007--