僕の頁 <SASと臨床試験と雑談と>

徒然なるままにSAS暮らし

----

スポンサーサイト  

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Posted on --/--/-- --. --:-- [edit]

CM: --
TB: --

0731

htmlencode関数  

一般的には馴染みのない関数だと思いますが、医薬品開発でSASプログラマーさんが、CDISCのDefine.xmlという文書をSASで書いてやろうなんて考えている人が使うであろうhtmlencode関数を紹介します。CDISCの書籍でも公開されているプログラムの中にも頻繁に登場しますので、何も真新しいものではありませんが、例えば、html文書の中で「<」と安易に記述するとブラウザが開けないことがあります。これは、htmlやxmlで使用されるタグ(<や>)と混同されてしまうためです。
以下では、文字列の中に不等号や&といった記号が含まれる際に、html文書でそのまま開くためにhtmlencode関数でもとの文字列を変換しています。
使い方: htmlencode(変数, 'オプションをスペース区切りで記述')
デフォルトでは、「<」が「&lt;」、「>」が「&gt;」、「&」が「&amp;」に変換されます。「quot」を追加すると引用符も変換されます。
data htmltest ;
length x $100. ;

x = 'where AGE < 65 & PARAMCD = "ALT" & AVAL >= 31' ;
output ; *--- Original ;
x = htmlencode(x) ;
output ; *--- Default: 'gt' 'lt' 'amp' ;
x = htmlencode(x, 'lt gt amp quot') ;
output ; *--- Default + 'quot' ;
run ;

options linesize=200 ;
proc print ; run ;


結果は以下になります。変換されていることが確認できます。これでブラウザ上でも意図通りの文字列を出力することが可能になります。
htmlencode_res.png
スポンサーサイト

Posted on 2015/07/31 Fri. 13:40 [edit]

CM: 0
TB: 0

プロフィール

最新記事

最新コメント

最新トラックバック

月別アーカイブ

カテゴリ

訪れた人

▲Page top

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。