整合營(yíng)銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          STL使用范例:網(wǎng)頁模板文本按特殊標(biāo)記批量處理

          STL使用范例:網(wǎng)頁模板文本按特殊標(biāo)記批量處理

          有以下模板文本(其中用一對(duì)標(biāo)記{{}}標(biāo)識(shí)用于查找和替換的文本):

          <!DOCTYPE html>
          <html>
          <head>
          <title>User {{name}}</title>
          </head>
          <body>
          <h3>{{name}}</h3>
          <p>Email:<a
          href="mailto:{{email}}">{{email}}</a></p>
          <p>Address:{{address}}</p>
          </body>
          </html>

          對(duì)標(biāo)記{{var}}內(nèi)的文本按其內(nèi)的標(biāo)識(shí)名var批量處理。

          用于查找、替換的文本:

          name "wwu"
          email "wwuhn@163.com"

          要處理為:

          
          <!DOCTYPE html>
          <html>
          <head>
          <title>User wwu</title>
          </head>
          <body>
          <h3>wwu</h3>
          <p>Email:<a
          href="mailto:wwuhn@163.com">wwuhn@163.com</a></p>
          <p>Address:</p>
          </body>
          </html>

          編程思路:

          目標(biāo)文本用vector<string>content存放。

          替換文本用map<string,string>findReplace存放。

          然后掃描content,查找形如{{var}}的字符串,將其用findReplace[var]替換。

          字符串的查找替換使用string類的成員函數(shù)find()和replace()完成。

          #include <iostream>
          #include <vector>
          #include <string>
          #include <map>
          using namespace std;
          
          vector<string> content;     // 包括需要替換內(nèi)容的文本(需要替換的內(nèi)容用{{}}標(biāo)識(shí)關(guān)鍵字)
          map<string,string> findReplace;   // 需要替換的關(guān)鍵字和目標(biāo)替換內(nèi)容
          int textLines,keys;         // 目標(biāo)處理文本和用于替換的文本的行數(shù)
          
          void trans(){               // 網(wǎng)頁轉(zhuǎn)換
              for(int i=0; i<textLines; i++)              // 逐行處理
              {
                  int pos=0,pos1,pos2;
                  do{
                      pos1=content[i].find("{{",pos);
                      pos2=content[i].find("}}",pos1);
                      if(pos1>=0 && pos2>=0){             //  找到 {{ }}
                          string var=content[i].substr(pos1+2,pos2-pos1-2);
                          if(findReplace.count(var)){           // 提取形如 {{var}}的內(nèi)容
                              string result=findReplace[var].substr(2,findReplace[var].length()-3);
                              content[i].replace(pos1,var.length()+4,result);
                          }
                          else
                              content[i].replace(pos1,var.length()+4,"");
                          pos=pos1+var.length();
                      }
                      else                                // 沒有打到{{ }},pos指向當(dāng)前字符串末尾
                          pos=content[i].length();
                  }while(pos<content[i].length());
              }
          }
          
          int main()
          {
              int i=1;
              string line;
              cin>>textLines>>keys;
              cin.ignore();                               // 屏蔽回車鍵
              for(i=0;i<textLines;i++){
                  getline(cin,line);
                  content.push_back(line);
              }for(i=0;i<keys;i++){
                  getline(cin,line);
                  int pos=line.find(" ");
                  findReplace.insert(map<string,string>::value_type(line.substr(0,pos),line.substr(pos)));
              }
              trans();
              for(i=0;i<textLines;i++)
                  cout<<content[i]<<endl;
              
          restart:   
          	
              goto restart;
              return 0;
          }
          /*
          12 2
          <!DOCTYPE html>
          <html>
          <head>
          <title>User {{name}}</title>
          </head>
          <body>
          <h3>{{name}}</h3>
          <p>Email:<a
          href="mailto:{{email}}">{{email}}</a></p>
          <p>Address:{{address}}</p>
          </body>
          </html>
          name "wwu"
          email "wwuhn@163.com"
          
          
          */

          測(cè)試時(shí),可直接復(fù)制粘貼以上備注內(nèi)容。

          適當(dāng)改寫,模板文本可以放到文本文件,再讀取到content中。

          當(dāng)然,也可用到圖形界面的文本處理中。

          res:

          李春葆 李筱《直擊招聘 程序員面試筆記 算法設(shè)計(jì)深度解析》

          -End-

          用HTML代碼速查表

          標(biāo)記或參數(shù)定 義<A>連結(jié)標(biāo)記<ADDRESS>地址標(biāo)記(斜體效果)<AREA>連結(jié)區(qū)域標(biāo)記(設(shè)定各連結(jié)區(qū)域)alink點(diǎn)擊連結(jié)時(shí)的樣式。例:alink="#FF0000"align水平方向擺放位置。例:align="center"alternate來回走動(dòng),例:behavior=alternatealt在連結(jié)中插入文字說明。例:alt="綠葉園"<B>字體加粗標(biāo)記(產(chǎn)生字體加粗的效果)<BODY>正文標(biāo)記(設(shè)計(jì)文件格式及內(nèi)文所在)<BR>換行標(biāo)記(令文字、圖片等顯示在下一行)<BIG>字體加大標(biāo)記(令字體稍為加大)<BLINK>閃爍文字標(biāo)記(令文字產(chǎn)生閃爍效果)<BGSOUND>背景聲音標(biāo)記(于背景播放聲音或音樂)<BASE>連結(jié)基準(zhǔn)標(biāo)記(可將網(wǎng)頁中所有的相對(duì)路徑轉(zhuǎn)換成絕對(duì)路徑)<BASEFONT>基準(zhǔn)字形標(biāo)記(設(shè)定所有字的字形、大小、顏色)<BLOCKQUOTE>引述文字區(qū)塊、令文字在表格的上下左右留有一定的空間background背景墻紙。例:background=01.JPGbgcolor背景顏色。例:bgcolor="#ff0000"bgproperties固定背景墻紙。例:bgproperties="fixed"border邊框。例:border=10bordercolor邊框顏色。例:bordercolor="#000080"bordercolorlight邊框向光部分的顏色。例:bordercolorlight="#000000"bordercolordark邊框背光部分的顏色。例:bordercolordark="#ffffff"bottom置于底端。例:valign="bottom"behavior卷動(dòng)方式。例:behavior=alternate_blank表示連結(jié)的目標(biāo)地址在新建窗口中打開。例:target=_blank

          <CENTER>居中標(biāo)記(令文字、圖片、表格等顯示于中間)<CAPTION>表格標(biāo)題(做成一打通列以填入表格標(biāo)題)<CODE>程式碼(字體稍為加寬如)<CITE>引述(斜體效果)colspan該單元格向右打通。例:colspan="5"color顏色。例:color="#00FF00"cellspacing單元格間距。例:cellspacing="5"cellpadding單元格襯距。例:cellpadding="10"

          <DIV>區(qū)域標(biāo)記<DFN>述語定義標(biāo)記(斜體效果)<DIR>目錄清單標(biāo)記(清單項(xiàng)目將以圓點(diǎn)排列,如<UL>)<DL>定義清單標(biāo)記(清單分兩層出現(xiàn))<DT>定義條目標(biāo)記(標(biāo)示該項(xiàng)定義的標(biāo)題)<DD>定義內(nèi)容標(biāo)記(標(biāo)示定義內(nèi)容)direction方向。例:direction=up<EM>強(qiáng)調(diào)標(biāo)記(字體出現(xiàn)斜體效果)<EMBED>多媒體標(biāo)記

          <MENU>選單清單標(biāo)記(清單項(xiàng)目將以圓點(diǎn)排列,如<UL>)<META>開頭定義標(biāo)記<MAP>影像地圖名稱標(biāo)記(設(shè)定影像地圖名稱)<MARQUEE>走動(dòng)標(biāo)記middle居中。例:align="middle"marginwidth框架左右邊緣與框架內(nèi)的文件保留的空間。例:marginwidth=0marginhight框架上下邊緣與框架內(nèi)的文件保留的空間。例:marginheight=0

          <NOBR>不換行標(biāo)記(強(qiáng)制文字不自動(dòng)換行)<NOFRAMES>不支持框架標(biāo)記(當(dāng)舊式瀏覽器不支援框架時(shí)顯示提示)name參考點(diǎn)(錨點(diǎn))。例:<a ></a>no否。例:scrolling=nonoshade平面顯示。例:<hr noshade>noresize鎖住框架窗口的大小

          <OL>順序清單標(biāo)記(清單項(xiàng)目將以數(shù)字、字母順序排列)

          <P>段落標(biāo)記(為字、畫、表格等之間留一空白行)<PRE>預(yù)設(shè)格式標(biāo)記(令文件按照原始碼的排列方式顯示)_parent父窗口(連結(jié)的目標(biāo)網(wǎng)頁在本窗口中打開)。例:target=_parentplaybutton在媒體播放面板中顯示播放按鈕pausecutton在媒體播放面板中顯示暫停按鈕

          <STRONG>加重語氣標(biāo)記(產(chǎn)生字體加粗 Bold 的效果)<SMALL>字體縮細(xì)標(biāo)記(令字體稍為縮細(xì))<STRIKE>劃刪除線標(biāo)記(為字體加一刪除線)<SAMP>范例標(biāo)記(字體稍為加寬如)<SUB>下標(biāo)字標(biāo)記<SUP>上標(biāo)字標(biāo)記<STYLE>樣式表標(biāo)記<SPAN>自訂標(biāo)記(獨(dú)立使用或與樣式表同用)<SELECT>選擇標(biāo)記(建立 pop-up 走動(dòng)清單)<SCRIPT>引用腳本標(biāo)記size大小。例:size="7"src來源。例:src="http://sheng999.blog.163.com/blog/logo.gif"_self相同窗口(在相同的框架中顯示連結(jié)的內(nèi)容)。例:target="_self">starttime開始播放的時(shí)間。例:starttime="00:10"smallconsole顯示較小的面板。例:cstopbutton顯示停止按鈕。例:cscrolling滾動(dòng)條。例:scrolling=noscroll走動(dòng)。例:behavior="scroll"scrollamount走動(dòng)的速度。例:scrollAmount=25scrolldelay走動(dòng)的停頓時(shí)間。例:scrolldelay=1000slide逐格走動(dòng)(幻燈式)。例:behavior="slide"

          <TITLE>網(wǎng)頁文件標(biāo)題標(biāo)記<TABLE>表格標(biāo)記<TR>表格的行<TD>表格的列<TH>表格標(biāo)頭(相等于<TD>,但其內(nèi)之字體會(huì)變粗)<TT>打字字體(Courier字體,字母寬度相同)<TEXTAREA>文字區(qū)塊(提供文字方盒以輸入較大量文字)topmargin網(wǎng)頁的上邊距。例:topmargin=10top上方。例:valign="top"text整個(gè)網(wǎng)頁的文字顏色。例:text=#CE0063target超級(jí)連接打開窗口模式。例:target=_blank_top將連結(jié)的網(wǎng)頁顯示在沒有框架的窗口中。例:target=_toptype樣式。例:type="text/css"true是。例:loop="true"

          <U>下劃線標(biāo)記(給文本加上底線)<UL>無序清單(清單項(xiàng)目將以圓點(diǎn)排列)

          <VAR>變數(shù)標(biāo)記(斜體效果)valign擺放位置(垂直方向)。例:valign="top"vlink被訪問后超鏈接文字的樣式。例:vlink="#0000FF"vspace圖片上下的空間。例:vspace=20volume音量(設(shè)定音量大?。?。例:volume="100"volumelever顯示音量調(diào)整鈕。例:c

          <WBR>建議換行標(biāo)記(預(yù)設(shè)換行部位)width寬度、長(zhǎng)度。例: width="540"

          考生回憶】五、反食品浪費(fèi)法實(shí)施后,G市市場(chǎng)監(jiān)管局開出的首張《責(zé)令改正通知書》引發(fā)了社會(huì)熱議。請(qǐng)根據(jù)“給定資料5”,以G市市場(chǎng)監(jiān)管局的名義撰寫一封公開信,回應(yīng)社會(huì)關(guān)切,正確引導(dǎo)輿論,營(yíng)造良好的執(zhí)法環(huán)境。(30分)

            要求:(1)觀點(diǎn)鮮明,內(nèi)容全面;(2)邏輯清晰,用語恰當(dāng);(3)字?jǐn)?shù)800-1000字。

            【參考范文】:

            致社會(huì)各界的公開信

            社會(huì)各界朋友:

            民以食為天,“杜絕食品浪費(fèi)”如今已不只是一句口號(hào),4月29日,《中華人民共和國(guó)反食品浪費(fèi)法》正式頒布實(shí)施,這也意味著,針對(duì)食品浪費(fèi)現(xiàn)象的執(zhí)法工作能夠有法可依。因本市XX中學(xué)食堂存在的蔬菜過度挑選等食品浪費(fèi)問題,5月11日,我市市場(chǎng)監(jiān)管局向該中學(xué)開出了首張《責(zé)令改正通知書》, 并對(duì)當(dāng)事人進(jìn)行了約談,該中學(xué)負(fù)責(zé)人也意識(shí)到食品浪費(fèi)的嚴(yán)重性,當(dāng)場(chǎng)表示要通過一系列改進(jìn)措施減少浪費(fèi)。

           詳情查看鏈接

          2022年國(guó)家公務(wù)員考試申論范文(行政執(zhí)法崗)

          https://pingdingshan.huatu.com/2021/1216/2229714.html


          主站蜘蛛池模板: 久久一区二区三区99| 国产精品无码一区二区三区免费 | 好看的电影网站亚洲一区| 久99精品视频在线观看婷亚洲片国产一区一级在线 | 国产在线一区二区三区| 国模私拍一区二区三区| 精品人妻中文av一区二区三区| 亚洲香蕉久久一区二区| 国产三级一区二区三区| 久久综合精品国产一区二区三区| 亚洲AV乱码一区二区三区林ゆな| 中文字幕日韩一区二区不卡 | 色欲AV蜜臀一区二区三区| 国产精品自拍一区| 一区二区三区杨幂在线观看 | 韩国一区二区视频| 人成精品视频三区二区一区| 国产人妖视频一区二区| 麻豆aⅴ精品无码一区二区| 日本香蕉一区二区三区| 国产精华液一区二区区别大吗| 亚洲一区二区三区91| 美女免费视频一区二区| 国产精品女同一区二区| 国产乱人伦精品一区二区在线观看| 精品久久久久中文字幕一区| 国产99久久精品一区二区| 亚洲国产av一区二区三区| 亚欧免费视频一区二区三区| 精品无码综合一区| 国产情侣一区二区| 亚洲一区综合在线播放| 午夜视频久久久久一区 | 国产一区二区视频在线播放| 中文字幕人妻无码一区二区三区 | 亚洲人AV永久一区二区三区久久| 精品国产亚洲一区二区三区| 精品国产福利在线观看一区 | 人妻少妇精品视频一区二区三区| 福利一区国产原创多挂探花| 国产精品香蕉在线一区|