{"id":261,"date":"2015-03-18T10:58:31","date_gmt":"2015-03-18T10:58:31","guid":{"rendered":"http:\/\/danny.janlov.se\/?p=261"},"modified":"2015-03-18T12:29:28","modified_gmt":"2015-03-18T12:29:28","slug":"funktion-for-att-filtrera-bort-oonskade-tecken-beroende-pa-edi-teckenuppsattning","status":"publish","type":"post","link":"https:\/\/danny.janlov.se\/?p=261","title":{"rendered":"Funktion f\u00f6r att filtrera bort o\u00f6nskade tecken beroende p\u00e5 edi teckenupps\u00e4ttning"},"content":{"rendered":"<p>H\u00e4r kommer en liten kodsnutt man kan anv\u00e4nda i Inobiz f\u00f6r att filtrera bort o\u00f6nskade tecken i ett edifactmeddelande:<\/p>\n<pre class=\"brush: cpp; title: ; notranslate\" title=\"\">\r\n\/*\r\n  input = string to process,\r\n  charset = charset to use (unoa, unob, unoc)\r\n  mode = alphanumeric or numeric (an, n)\r\n  length = length of resulting string (including decimals)\r\n  decimals = number of decimals (only used when mode == &quot;n&quot;)\r\n*\/\r\nstring EdiString (string input, string charset, string mode, integer length, integer decimals)\r\n{\r\n  string regex, schar, editmask;\r\n  \r\n  if (mode == &quot;n&quot;)\r\n  {\r\n    if (decimals &gt; 0)\r\n      editmask = &quot;-&quot; &amp; fill (&quot;Z&quot;, length - (decimals + 2)) &amp; &quot;9P&quot; &amp; fill(&quot;9&quot;, decimals);\r\n\telse\r\n      editmask = &quot;-&quot; &amp; fill (&quot;Z&quot;, length - 1) &amp; &quot;9&quot;;\r\n\t\t\t\r\n    input = removechars(edit(input, editmask), &quot;+&quot;);\r\n  }\r\n  else\r\n  {\t\r\n    if (tolower(charset) == &quot;unoa&quot;)\r\n    { \r\n      regex = &quot;[^0-9A-Z.,_()\\\\\/=\\\\\\\\\\\\+:?\\&quot;!'%&amp;*;&lt;&gt; ]&quot;;\r\n      input = translate(input, &quot;\u00e5\u00e4\u00f6\u00c5\u00c4\u00d6&quot;, &quot;aaoAAO&quot;);\r\n      input = toupper(input);\r\n    }\r\n    else if (tolower(charset) == &quot;unob&quot;) \r\n    {\r\n      regex = &quot;[^0-9A-Z.,_()\\\\\/=\\\\\\\\\\\\+:?\\&quot;!'%&amp;*;&lt;&gt; a-z]&quot;;\r\n      input = translate(input, &quot;\u00e5\u00e4\u00f6\u00c5\u00c4\u00d6&quot;, &quot;aaoAAO&quot;);\r\n    }\r\n    else \/* defaulfs to unoc *\/\r\n      regex = &quot;[^0-9a-z.,_()\\\\\/=\\\\\\\\\\\\+:?\\&quot;!'%&amp;*;&lt;&gt; A-Z\u00e5\u00e4\u00f6\u00c5\u00c4\u00d6]&quot;;\r\n\t  \r\n    for (integer i = 1; i &lt;  strlen(input) ; ++i)\r\n    {\r\n      schar = strpos (input, i);\r\n\t\t\t\r\n      if (regexp(schar, regex) == 1)\r\n\t  {\r\n        input = removechars(input, schar);\r\n      }\r\n    }\r\n\t  \r\n    if (strlen(input) &gt; length)\r\n      input = substr(input, 1, length);\r\n  }\r\n  return input;\r\n}\r\n<\/pre>\n<div class=\"sharedaddy sd-sharing-enabled\"><div class=\"robots-nocontent sd-block sd-social sd-social-icon-text sd-sharing\"><h3 class=\"sd-title\">Dela detta:<\/h3><div class=\"sd-content\"><ul><li><a href=\"#\" class=\"sharing-anchor sd-button share-more\"><span>Dela<\/span><\/a><\/li><li class=\"share-end\"><\/li><\/ul><div class=\"sharing-hidden\"><div class=\"inner\" style=\"display: none;\"><ul><li class=\"share-facebook\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-facebook-261\" class=\"share-facebook sd-button share-icon\" href=\"https:\/\/danny.janlov.se\/?p=261&amp;share=facebook\" target=\"_blank\" title=\"Klicka f\u00f6r att dela p\u00e5 Facebook\" ><span>Facebook<\/span><\/a><\/li><li class=\"share-twitter\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-twitter-261\" class=\"share-twitter sd-button share-icon\" href=\"https:\/\/danny.janlov.se\/?p=261&amp;share=twitter\" target=\"_blank\" title=\"Klicka f\u00f6r att dela p\u00e5 Twitter\" ><span>Twitter<\/span><\/a><\/li><li class=\"share-end\"><\/li><li class=\"share-linkedin\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-linkedin-261\" class=\"share-linkedin sd-button share-icon\" href=\"https:\/\/danny.janlov.se\/?p=261&amp;share=linkedin\" target=\"_blank\" title=\"Klicka f\u00f6r att dela via LinkedIn\" ><span>LinkedIn<\/span><\/a><\/li><li class=\"share-email\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"\" class=\"share-email sd-button share-icon\" href=\"mailto:?subject=%5BDelat%20inl%C3%A4gg%5D%20Funktion%20f%C3%B6r%20att%20filtrera%20bort%20o%C3%B6nskade%20tecken%20beroende%20p%C3%A5%20edi%20teckenupps%C3%A4ttning&body=https%3A%2F%2Fdanny.janlov.se%2F%3Fp%3D261&share=email\" target=\"_blank\" title=\"Klicka f\u00f6r att e-posta en l\u00e4nk till en v\u00e4n\" data-email-share-error-title=\"Har du e-post konfigurerat?\" data-email-share-error-text=\"Om du har problem med att dela via e-post \u00e4r det m\u00f6jligt att e-post inte \u00e4r konfigurerat f\u00f6r din webbl\u00e4sare. Du kan beh\u00f6va skapa en ny e-post sj\u00e4lv.\" data-email-share-nonce=\"eaf3cef9da\" data-email-share-track-url=\"https:\/\/danny.janlov.se\/?p=261&amp;share=email\"><span>E-post<\/span><\/a><\/li><li class=\"share-end\"><\/li><li class=\"share-end\"><\/li><\/ul><\/div><\/div><\/div><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>H\u00e4r kommer en liten kodsnutt man kan anv\u00e4nda i Inobiz f\u00f6r att filtrera bort o\u00f6nskade tecken i ett edifactmeddelande:<\/p>\n<div class=\"sharedaddy sd-sharing-enabled\"><div class=\"robots-nocontent sd-block sd-social sd-social-icon-text sd-sharing\"><h3 class=\"sd-title\">Dela detta:<\/h3><div class=\"sd-content\"><ul><li><a href=\"#\" class=\"sharing-anchor sd-button share-more\"><span>Dela<\/span><\/a><\/li><li class=\"share-end\"><\/li><\/ul><div class=\"sharing-hidden\"><div class=\"inner\" style=\"display: none;\"><ul><li class=\"share-facebook\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-facebook-261\" class=\"share-facebook sd-button share-icon\" href=\"https:\/\/danny.janlov.se\/?p=261&amp;share=facebook\" target=\"_blank\" title=\"Klicka f\u00f6r att dela p\u00e5 Facebook\" ><span>Facebook<\/span><\/a><\/li><li class=\"share-twitter\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-twitter-261\" class=\"share-twitter sd-button share-icon\" href=\"https:\/\/danny.janlov.se\/?p=261&amp;share=twitter\" target=\"_blank\" title=\"Klicka f\u00f6r att dela p\u00e5 Twitter\" ><span>Twitter<\/span><\/a><\/li><li class=\"share-end\"><\/li><li class=\"share-linkedin\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-linkedin-261\" class=\"share-linkedin sd-button share-icon\" href=\"https:\/\/danny.janlov.se\/?p=261&amp;share=linkedin\" target=\"_blank\" title=\"Klicka f\u00f6r att dela via LinkedIn\" ><span>LinkedIn<\/span><\/a><\/li><li class=\"share-email\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"\" class=\"share-email sd-button share-icon\" href=\"mailto:?subject=%5BDelat%20inl%C3%A4gg%5D%20Funktion%20f%C3%B6r%20att%20filtrera%20bort%20o%C3%B6nskade%20tecken%20beroende%20p%C3%A5%20edi%20teckenupps%C3%A4ttning&body=https%3A%2F%2Fdanny.janlov.se%2F%3Fp%3D261&share=email\" target=\"_blank\" title=\"Klicka f\u00f6r att e-posta en l\u00e4nk till en v\u00e4n\" data-email-share-error-title=\"Har du e-post konfigurerat?\" data-email-share-error-text=\"Om du har problem med att dela via e-post \u00e4r det m\u00f6jligt att e-post inte \u00e4r konfigurerat f\u00f6r din webbl\u00e4sare. Du kan beh\u00f6va skapa en ny e-post sj\u00e4lv.\" data-email-share-nonce=\"eaf3cef9da\" data-email-share-track-url=\"https:\/\/danny.janlov.se\/?p=261&amp;share=email\"><span>E-post<\/span><\/a><\/li><li class=\"share-end\"><\/li><li class=\"share-end\"><\/li><\/ul><\/div><\/div><\/div><\/div><\/div>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true},"categories":[1],"tags":[26,22],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/pYHHf-4d","_links":{"self":[{"href":"https:\/\/danny.janlov.se\/index.php?rest_route=\/wp\/v2\/posts\/261"}],"collection":[{"href":"https:\/\/danny.janlov.se\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/danny.janlov.se\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/danny.janlov.se\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/danny.janlov.se\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=261"}],"version-history":[{"count":7,"href":"https:\/\/danny.janlov.se\/index.php?rest_route=\/wp\/v2\/posts\/261\/revisions"}],"predecessor-version":[{"id":268,"href":"https:\/\/danny.janlov.se\/index.php?rest_route=\/wp\/v2\/posts\/261\/revisions\/268"}],"wp:attachment":[{"href":"https:\/\/danny.janlov.se\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=261"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/danny.janlov.se\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=261"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/danny.janlov.se\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=261"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}