Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
有以下模板文本(其中用一對標記{{}}標識用于查找和替換的文本):
<!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>
對標記{{var}}內的文本按其內的標識名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>
編程思路:
目標文本用vector<string>content存放。
替換文本用map<string,string>findReplace存放。
然后掃描content,查找形如{{var}}的字符串,將其用findReplace[var]替換。
字符串的查找替換使用string類的成員函數find()和replace()完成。
#include <iostream>
#include <vector>
#include <string>
#include <map>
using namespace std;
vector<string> content; // 包括需要替換內容的文本(需要替換的內容用{{}}標識關鍵字)
map<string,string> findReplace; // 需要替換的關鍵字和目標替換內容
int textLines,keys; // 目標處理文本和用于替換的文本的行數
void trans(){ // 網頁轉換
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}}的內容
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指向當前字符串末尾
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"
*/
測試時,可直接復制粘貼以上備注內容。
適當改寫,模板文本可以放到文本文件,再讀取到content中。
當然,也可用到圖形界面的文本處理中。
res:
李春葆 李筱《直擊招聘 程序員面試筆記 算法設計深度解析》
-End-
用HTML代碼速查表
標記或參數定 義<A>連結標記<ADDRESS>地址標記(斜體效果)<AREA>連結區域標記(設定各連結區域)alink點擊連結時的樣式。例:alink="#FF0000"align水平方向擺放位置。例:align="center"alternate來回走動,例:behavior=alternatealt在連結中插入文字說明。例:alt="綠葉園"<B>字體加粗標記(產生字體加粗的效果)<BODY>正文標記(設計文件格式及內文所在)<BR>換行標記(令文字、圖片等顯示在下一行)<BIG>字體加大標記(令字體稍為加大)<BLINK>閃爍文字標記(令文字產生閃爍效果)<BGSOUND>背景聲音標記(于背景播放聲音或音樂)<BASE>連結基準標記(可將網頁中所有的相對路徑轉換成絕對路徑)<BASEFONT>基準字形標記(設定所有字的字形、大小、顏色)<BLOCKQUOTE>引述文字區塊、令文字在表格的上下左右留有一定的空間background背景墻紙。例:background=01.JPGbgcolor背景顏色。例:bgcolor="#ff0000"bgproperties固定背景墻紙。例:bgproperties="fixed"border邊框。例:border=10bordercolor邊框顏色。例:bordercolor="#000080"bordercolorlight邊框向光部分的顏色。例:bordercolorlight="#000000"bordercolordark邊框背光部分的顏色。例:bordercolordark="#ffffff"bottom置于底端。例:valign="bottom"behavior卷動方式。例:behavior=alternate_blank表示連結的目標地址在新建窗口中打開。例:target=_blank
<CENTER>居中標記(令文字、圖片、表格等顯示于中間)<CAPTION>表格標題(做成一打通列以填入表格標題)<CODE>程式碼(字體稍為加寬如)<CITE>引述(斜體效果)colspan該單元格向右打通。例:colspan="5"color顏色。例:color="#00FF00"cellspacing單元格間距。例:cellspacing="5"cellpadding單元格襯距。例:cellpadding="10"
<DIV>區域標記<DFN>述語定義標記(斜體效果)<DIR>目錄清單標記(清單項目將以圓點排列,如<UL>)<DL>定義清單標記(清單分兩層出現)<DT>定義條目標記(標示該項定義的標題)<DD>定義內容標記(標示定義內容)direction方向。例:direction=up<EM>強調標記(字體出現斜體效果)<EMBED>多媒體標記
<MENU>選單清單標記(清單項目將以圓點排列,如<UL>)<META>開頭定義標記<MAP>影像地圖名稱標記(設定影像地圖名稱)<MARQUEE>走動標記middle居中。例:align="middle"marginwidth框架左右邊緣與框架內的文件保留的空間。例:marginwidth=0marginhight框架上下邊緣與框架內的文件保留的空間。例:marginheight=0
<NOBR>不換行標記(強制文字不自動換行)<NOFRAMES>不支持框架標記(當舊式瀏覽器不支援框架時顯示提示)name參考點(錨點)。例:<a ></a>no否。例:scrolling=nonoshade平面顯示。例:<hr noshade>noresize鎖住框架窗口的大小
<OL>順序清單標記(清單項目將以數字、字母順序排列)
<P>段落標記(為字、畫、表格等之間留一空白行)<PRE>預設格式標記(令文件按照原始碼的排列方式顯示)_parent父窗口(連結的目標網頁在本窗口中打開)。例:target=_parentplaybutton在媒體播放面板中顯示播放按鈕pausecutton在媒體播放面板中顯示暫停按鈕
<STRONG>加重語氣標記(產生字體加粗 Bold 的效果)<SMALL>字體縮細標記(令字體稍為縮細)<STRIKE>劃刪除線標記(為字體加一刪除線)<SAMP>范例標記(字體稍為加寬如)<SUB>下標字標記<SUP>上標字標記<STYLE>樣式表標記<SPAN>自訂標記(獨立使用或與樣式表同用)<SELECT>選擇標記(建立 pop-up 走動清單)<SCRIPT>引用腳本標記size大小。例:size="7"src來源。例:src="http://sheng999.blog.163.com/blog/logo.gif"_self相同窗口(在相同的框架中顯示連結的內容)。例:target="_self">starttime開始播放的時間。例:starttime="00:10"smallconsole顯示較小的面板。例:cstopbutton顯示停止按鈕。例:cscrolling滾動條。例:scrolling=noscroll走動。例:behavior="scroll"scrollamount走動的速度。例:scrollAmount=25scrolldelay走動的停頓時間。例:scrolldelay=1000slide逐格走動(幻燈式)。例:behavior="slide"
<TITLE>網頁文件標題標記<TABLE>表格標記<TR>表格的行<TD>表格的列<TH>表格標頭(相等于<TD>,但其內之字體會變粗)<TT>打字字體(Courier字體,字母寬度相同)<TEXTAREA>文字區塊(提供文字方盒以輸入較大量文字)topmargin網頁的上邊距。例:topmargin=10top上方。例:valign="top"text整個網頁的文字顏色。例:text=#CE0063target超級連接打開窗口模式。例:target=_blank_top將連結的網頁顯示在沒有框架的窗口中。例:target=_toptype樣式。例:type="text/css"true是。例:loop="true"
<U>下劃線標記(給文本加上底線)<UL>無序清單(清單項目將以圓點排列)
<VAR>變數標記(斜體效果)valign擺放位置(垂直方向)。例:valign="top"vlink被訪問后超鏈接文字的樣式。例:vlink="#0000FF"vspace圖片上下的空間。例:vspace=20volume音量(設定音量大小)。例:volume="100"volumelever顯示音量調整鈕。例:c
<WBR>建議換行標記(預設換行部位)width寬度、長度。例: width="540"
考生回憶】五、反食品浪費法實施后,G市市場監管局開出的首張《責令改正通知書》引發了社會熱議。請根據“給定資料5”,以G市市場監管局的名義撰寫一封公開信,回應社會關切,正確引導輿論,營造良好的執法環境。(30分)
要求:(1)觀點鮮明,內容全面;(2)邏輯清晰,用語恰當;(3)字數800-1000字。
【參考范文】:
致社會各界的公開信
社會各界朋友:
民以食為天,“杜絕食品浪費”如今已不只是一句口號,4月29日,《中華人民共和國反食品浪費法》正式頒布實施,這也意味著,針對食品浪費現象的執法工作能夠有法可依。因本市XX中學食堂存在的蔬菜過度挑選等食品浪費問題,5月11日,我市市場監管局向該中學開出了首張《責令改正通知書》, 并對當事人進行了約談,該中學負責人也意識到食品浪費的嚴重性,當場表示要通過一系列改進措施減少浪費。
詳情查看鏈接
2022年國家公務員考試申論范文(行政執法崗)
https://pingdingshan.huatu.com/2021/1216/2229714.html
*請認真填寫需求信息,我們會在24小時內與您取得聯系。