① php中有關preg_split問題
那是正則
/[\s,]+/
\s 匹配任何空白字元,包括空格、製表符、換頁符等等。其中的,是就是逗號
後面的+號是匹配前面的子表達式一次或多次。
整個意思就是以逗號分割,並且忽略空格,這樣就把字元串"hypertext language, programming"分割成有兩個元素的數組
不知道樓主明白了沒有
② php中,如何將一串數字分割成一個個,並計算他們的和
<?php
$s = "123456789";
$ex = preg_split("//", $s);
$x = 0;
foreach( $ex as $k ) {
$x += $k;
}
echo $x."\n";
?>
上面寫了一個差不多的..
主要用preg_split打散數字串,然後用foreach加起來
③ php中preg_split()函數的PREG_SPLIT_NO_EMPTY到底有什麼作用啊
意思中,假如分割後的數組中有空的項目,則刪除掉,只留下非空的項目。
你這個沒有分割後沒有空的項目,所以沒啥區別。
建議加上去;
假如分割後
$keywords[0]='saf'
$keywords[1]='abfg'
$keywords[2]=''
$keywords[3]='xxv'
那麼如果不加這個,將會有空的,應該不是你想要的效果
④ php的 preg_split 函數分割字元串時 出現 亂碼
亂碼很可能的因素是 preg_split 這個函數引起的 ,因為這個函數對漢字的支持不好
建議你採用mb_ 系列的函數
⑤ 用php的 preg_split 函數分割字元串時 出現 亂碼
很有意思的問題.
研究了一個多小時,終於找到了一個解決方案.
測試發現,preg_split對中文(多位元組)的分隔符處理可能真的存在問題.
原因可能是正則匹配時不能正常分隔一個多位元組字元(猜測).
但我實驗用半形(英文)的分隔符就工作得很好.
於是
我在處理待分隔的文本前先對文本進行替換,把中文的句點和逗號都替換成英文半形的.然後再使用preg_split,暫時發現工作得不錯.
以下是我的測試代碼.
<?php
$test = <<<EOF
記者從有關人士處獲悉,嫦娥二號發射的各項准備工作全部就緒,昨日經專家組評審,衛星、火箭、發射場、測控等系統均情況正常,具備發射條件。今天起,西昌衛星發射中心的加註手將為火箭加註燃料。
據一位航天專家介紹,因為地球和月球都在轉動的緣故,所以地月之間的最佳交匯點每年僅出現3次,而這3次便是發射探月衛星的最佳節點,經過觀測,今年3次的出現時間分別為10月1日、10月2日和10月3日,而最佳發射窗口則是1日晚7時,2日晚8時和3日晚10時,其中國慶日晚7時為佳中之佳。
針對媒體稱10月1日發射窗口時間為晚6時59分57秒,該專家告訴本報記者,早3秒並非提前3秒發射,而是將這3秒時間預留出來,作為現場指揮員在發送倒計時口令的緩沖時間。(記者萬強)
EOF;
//$input = $_POST[$content]; //........................獲取要分割的字元串
$test = str_replace(",",',',$test);
$test = str_replace("。",'.',$test);
$mode="/[,|.]/s"; //......................用「逗號」 和 「句號」 分割字元串
$output = preg_split($mode,$test,-1);
print_r($output);
?>
============
樓主不防試試,我的代碼是gb2312的字串.
經測試在,字元串為UTF8時,也可以正常工作.
⑥ wordpress插件遠程保存圖片錯誤:Warning: preg_split() [function.preg-split]: Unknown modifier php語法
你這種情況我以前也遇到過,原因是你修改網頁,用記事本打開的,一般有DW打開。如果還不行的話,建議你去除cookie.你以前學過wordpress嗎?建議你系統的學習一下wordpess,淘寶里的永卓網店有系統的wordpress教程。
⑦ PHP函數preg_split()出錯誤
preg正則表達式必須有一個定界符,它可以是除元字元外的任何字元(位於表達式開始前和結束後,作用是把表達式與模式修飾符分開。比如 0abc0i 表示匹配不分大小寫的abc)。你的正則式里只有一個\n,pcre認為它是你定義的定界符,於是「正則表達式不存在」就出現了。解決方法是在\n前後各加一個字元,比如 "/\n/"