導航:首頁 > 編程語言 > php特殊字元編碼

php特殊字元編碼

發布時間:2022-12-16 17:44:57

『壹』 php 如何過濾特殊字元,如 ◆ )- : 、 、!! /   等

可以用 str_replace() 函數統一替換,如:
$string = "測試◆例子♂ 在此 !";
$replace = array('◆','♂',')','=','+','$','¥','-','、','、',':',';','!','!','/');
$string = str_replace($replace, '', $string);
echo $string;

『貳』 php語言字典代碼

求一PHP演算法,字典生成。時間一到再加100分。如:字元:0-9,長度:1,

那就生成0,1,2,3,4,5,6,7,8,9

長度:2,就會生成00-99

現在要求字元可以包括a-z,或者其他特殊符號,求一高效的生成演算法。

參考答案一

function get_string($strlen){

$source='0123456789'; //任意字元

$len = strlen($source); //長度

$return = array();

for($i = 0 ;$i < $len;$i++){

for($j = 0;$j < $strlen;$j++){

$return[$i] .= $i;

}

}

return implode(',', $return);

}

如果輸入長度2: 輸出結果就是:

00,11,22,33,44,55,66,77,88,99

參考答案二

優化了進位演算法:

PHP code =0;$no--){ $word=$source{$series[$no]}.$word; $series[$no]+=$tonext_value; if($no>0){ if($series[$no]==$len){ $series[$no]=0; $tonext_value=1; }else{ $tonext_value=0; } } } echo "$word "; } } gene_dic(2); ?>

簡單的說,我會把這個理解為0-9(十進制)下十個數字生成兩位數字、可重復的排列問題。

排列演算法我自己建立過的就是簡單的N進制下的+1演算法,保證可以遍歷。

即:

初始化到0,

1. +1

2. 是否超過要生成的位數?否,則回到1;

3. 輸出

參考答案三

PHP code =0;$no--){//循環遍歷數組每次從源字串中取一個字元,為便於進位運算,取字元是從後往前取 $word=$source{$series[$no]}.$word;//先取出一個字元 //取出一個字元後就要判斷當前數組元素如何如果改變值,為下一次“大循環”做准備 if($no==$n-1){//末位的判斷,它比較特殊,每次大循環都要增值 if($series[$no]==$len-1){ $series[$no]=0; $tonext_value=1;//歸零時就進位 }else{ $series[$no]+=1; $tonext_value=0;//未歸零就增值,不進位 } }elseif($no<$n-1){//中間位的進位判斷 $series[$no]+=$tonext_value;//先取得上一位的進位值 if($series[$no]==$len){ $series[$no]=0; $tonext_value=1;//歸零了就繼續進位 }else{ $tonext_value=0;//不歸零就不進位 } }else{ $series[$no]+=$tonext_value;//大循環次數決定了“老大”是只進不出的。 } } echo "$word ";//輸入單詞 } } gene_dic(2);//測試,結果OK。

參考答案四

PHP code =0;$no--){//循環遍歷數組每次從源字串中取一個字元,為便於進位運算,取字元是從後往前取 $word=$source{$series[$no]}.$word;//先取出一個字元 //取出一個字元後就要判斷當前數組元素如何如果改變值,為下一次“大循環”做准備 if($no==$n-1){//末位的判斷,它比較特殊,每次大循環都要增值 if($series[$no]==$len-1){ $series[$no]=0; $tonext_value=1;//歸零時就進位 }else{ $series[$no]+=1; $tonext_value=0;//未歸零就增值,不進位 } }elseif($no<$n-1){//中間位的進位判斷 $series[$no]+=$tonext_value;//先取得上一位的進位值 if($series[$no]==$len){ $series[$no]=0; $tonext_value=1;//歸零了就繼續進位 }else{ $tonext_value=0;//不歸零就不進位 } }else{ $series[$no]+=$tonext_value;//大循環次數決定了“老大”是只進不出的。 } } echo "$word ";//輸入單詞 } } gene_dic(2);//測試,結果OK。

參考答案五

應該是:

function get_string($strlen){

$source='0123456789';

$len = strlen($source);

$return = array();

for($i = 0 ;$i < $len;$i++){

for($j = 1;$j <= $strlen;$j++){

$return[$i] .= substr($source,$i,1);

}

}

return implode(',', $return);

}

【拓展閱讀】如何開始一門語言的學習

一門語言從發明到演進必有原因。

現在還有很多人推薦學習不同的語言。通過比較,了解它的發展史,

創始人的初心等因素都需要留意。多個思考,這個語言在5年,在10年後還是否保持活力?

當有幾個類似的語言被選擇時,我們不妨對它們做一個Swat分析。

列出這些語言的共同點,還有它們之間的規則差異。

了解語言的發展史

開發語言從匯編開始,如最早的計算機ENIAC,使用的就是它來編程

再到Fortarin,再到C語言,Cobol,Basic。每一個語言都與當時發展的階段有點密切關聯。

人類的每個發明都與懶惰有關,語言也是為便捷性而生。有的語言

C是除匯編外最重視效率的語言,擴展的C++也繼承了此特性。Perl是做文本處理效率最佳的語言,雖然它的發展有點慢。PHP做Web開發,是“世界上最好的.語言”,Python的閱讀性和大數據處理都做得樣樣俱佳。

當了解語言的歷史沿革後,會讓我們對其創始人有很強烈的興趣,成為忠實的腦殘粉,學習該語言的興趣會更濃烈。

人們常常說某個語言比哪個好,這其實沒有必要。不必要為其它人的語言所惑,需要你自己做出選擇。

語言的共通點

這個星球的人都是一個鼻子兩雙只水汪汪的大眼睛,與人們的模樣一般,編程語言也有一個大致相同的長相。

語法:這是開發此語言定義的規則“套路”:

運算符順序,變數常量定義/作用域,表達式定義,字元串定義,行尾結束符等。

流程式控制制:循環控制

這些語法都是成對的,如if,for,while,foreach,有的語言還提供goto這樣類似匯編語言的語法。

函數與方法

一些能夠復用的高質量代碼組合。函數執行後有返回,有遞歸,有嵌套,還有幹完活就完事的簡單任務。有靜態函數和動態函數區分。

容器

數組,哈希表(也叫散列),字典等用來保存數據的容器。

錯誤/例外處理

現代編程語言基本都支持出錯的拋出,除了C語言之外。

比如硬碟不足,網路出錯,黑客攻擊等情形。就像購物中心裡出現煤氣泄露時,監測設備,物聯網設備能夠及時記錄與傳遞給指揮中心。

沒有錯誤拋出的語言,需要自己考慮盡可能出錯的場景並處理,比如:

if(is_overfllow)

//處理

if(network_error)

//處理

可以還有不少需要關注的維度,這會讓代碼變得艱澀難懂,也難以維護。

我們可以用這樣的方式,讓其更簡潔:

on error goto ERROR

ERROR:

..//

但這總是會需要我們照顧很多情形。於是C++推出了一個語法:

try{

//可能會出錯的代碼

//可能會出錯的代碼

}catch{

//處理出錯的邏輯

//處理出錯的邏輯

}finally{

//出不出錯都要執行的代碼

}

最後一句是微軟公司給業界提供貢獻的finally代碼塊。

以上這些成為語言處理異常機制的基礎。

容器

容器是很重要的一節,所以我們單獨再提出來。很多邏輯處理,使用容器保存數據,該語言會提供便捷的方法來提供存取。

比如C、Perl、PHP、Ruby中均提供的數組和關聯數組,LISP提供的列表,java、Python提供的元組、鏈表等。

雖然名字相同,但是實現方式卻是完全不同,使用方法當然也不一樣。

沒有萬能的容器,只有最合適的。可以從節省內存,節約時間還是編碼效率等綜合考慮。

字元串與字元編碼

是否支持unicode編碼。從摩斯碼到ASCII到統一的Unicode編碼支持。

並發處理

有的語言在設計時並無此方面的考慮,或者天生設計存在缺陷。

即多線程,多進程的概念。包括共享,鎖,事備等特性。

面向對象

支持類,繼承,模塊,包,命名空間,閉包等。有這些特性才會讓人們的工作變得更便利、更有效率。

小結

學習一門語言的關鍵,需要我們在平靜地心緒下,帶著濃厚的興趣去學習,在比較中學習,在歷史中學習。

有時候感覺還是不夠通暢,先做知識的搬運工也是不錯。另外,不斷的實踐會讓我們的信心更足。

『叄』 PHP 如何過濾特殊字元 如 ◆ )- : 、 、!! / 等

PHP 中的 preg_replace() 函數可以實現

實例:只匹配中文


<?php
$str="php)!!編程";
echopreg_replace("/[^x{4e00}-x{9fa5}]/iu",'',$str);
?>

『肆』 php怎樣過濾掉特殊字元啊 ☺

過濾掉特殊字元,可以考慮使用字元串替換的方法,在php中替換字元效率最高也是最簡單字元替換函數str_replace函數。

使用方法:str_replace(find,replace,string,count)

參數說明:

find 必需。規定要查找的值。

replace 必需。規定替換 find 中的值的值。

string 必需。規定被搜索的字元串。

count 可選。一個變數,對替換數進行計數。

實例:

str_replace("iwind","kiki","iloveiwind,iwindsaid");

將輸出 "i love kiki, kiki said"

當然你也可以採取正則替換的方法,該函數是preg_replace

『伍』 PHP GET參數特殊符號有什麼規律

這是URI(Uniform Resource Identifier)編碼如果URL中有漢字,就必須編碼後使用

例如,":"字元用十六進制來表示為3A,所以必須使用%3A來表示,"/"字元用十六進制來表示為2F,所以必須使用%2F來表示"/"字元。

一般空格是轉換為加號 漢字以及特殊字元都要根據16進制的內容再在前門加一個%進行轉換

而這裡面分為不同的編碼規則 有GBK、UTF8 所以在編碼的時候要進行設置

下面是一個java獲取字元串編碼的例子

//百分比編碼:獲取某個字元的URL編碼,編碼是用URLEncoder.encode(),解碼是用URLDecoder.decode()函數
Stringtext;
try{
text=URLEncoder.encode("http://.com","iso-8859-1");
System.out.println(text);
}catch(UnsupportedEncodingExceptione){
e.printStackTrace();
}

『陸』 php mysql轉義特殊字元的函數有哪些

addslashes對SQL語句中的特殊字元進行轉義操作,包括(『), (「), (), (NUL)四個字元,此函數在DBMS沒有自己的轉義函數時候使用,但是如果DBMS有自己的轉義函數,那麼推薦使用原裝函數,比如MySQL有mysql_real_escape_string函數用來轉義SQL。 注意在PHP5.3之前,magic_quotes_gpc是默認開啟的,其主要是在$GET, $POST, $COOKIE上執行addslashes操作,所以不需要在這些變數上重復調用addslashes,否則會double escaping的。不過magic_quotes_gpc在PHP5.3就已經被廢棄,從PHP5.4開始就已經被移除了,如果使用PHP最新版本可以不用擔心這個問題。stripslashes為addslashes的unescape函數。

閱讀全文

與php特殊字元編碼相關的資料

熱點內容
dvd光碟存儲漢子演算法 瀏覽:758
蘋果郵件無法連接伺服器地址 瀏覽:963
phpffmpeg轉碼 瀏覽:672
長沙好玩的解壓項目 瀏覽:145
專屬學情分析報告是什麼app 瀏覽:564
php工程部署 瀏覽:833
android全屏透明 瀏覽:737
阿里雲伺服器已開通怎麼辦 瀏覽:803
光遇為什麼登錄時伺服器已滿 瀏覽:302
PDF分析 瀏覽:486
h3c光纖全工半全工設置命令 瀏覽:143
公司法pdf下載 瀏覽:383
linuxmarkdown 瀏覽:350
華為手機怎麼多選文件夾 瀏覽:683
如何取消命令方塊指令 瀏覽:350
風翼app為什麼進不去了 瀏覽:779
im4java壓縮圖片 瀏覽:362
數據查詢網站源碼 瀏覽:151
伊克塞爾文檔怎麼進行加密 瀏覽:893
app轉賬是什麼 瀏覽:163