⑴ php截取一段字元串中第一個出現的數字或字母或冒號前面的中文漢字的語句怎麼寫
$string=preg_replace('/([a-z0-9:])+/','',$string1);
這樣就把數字 字母 冒號後面的字元串去掉了
⑵ php替換怎麼替換指定位置字元
functionreplace($str,$index,$s){
//參數定義:
//$str 原字元串
//$index要替換的位置(第一個"-"前面的位置為0,最後一個"-"後面的位置等於減號數量)
//$s 要替換的內容
$str=rtrim(rtrim($str,'html'),'.');
$arr=explode('-',$str,14); //如果是前面固定13個減號,可以加一個參數14
if($index>=count($arr)){
$arr[count($arr)-1]=$s;
}elseif($index<0){
$arr[0]=$s;
}else{
$arr[$index]=$s;
}
return(implode('-',$arr).'.html');
}
$string='21--------43-----哈啊.html';
$newStr=replace($string,0,'aaa'); //第1個減號前面的位置替換為aaa
echo$newStr.'<br>';
$newStr=replace($newStr,2,'bbb'); //第2個減號後面的位置替換為bbb
echo$newStr.'<br>';
$newStr=replace($newStr,8,'ccc'); //第8個減號後面的位置替換為ccc
echo$newStr;
注意:原字元串結尾部分不能連續兩個"html"或者連續兩個"."連著
如果原字元串在替換的時候不加".html"就沒有這個限制了,就像這樣
functionreplace($str,$index,$s){
//參數定義:
//$str 原字元串
//$index要替換的位置(第一個"-"前面的位置為0,最後一個"-"後面的位置等於減號數量)
//$s 要替換的內容
$arr=explode('-',$str,14); //如果是前面固定13個減號,可以加一個參數14
if($index>=count($arr)){
$arr[count($arr)-1]=$s;
}elseif($index<0){
$arr[0]=$s;
}else{
$arr[$index]=$s;
}
return(implode('-',$arr).'.html');
}
$string='21--------43-----哈啊';
$newStr=replace($string,0,'aaa'); //第1個減號前面的位置替換為aaa
echo$newStr.'.html<br>';
$newStr=replace($newStr,2,'bbb'); //第2個減號後面的位置替換為bbb
echo$newStr.'.html<br>';
$newStr=replace($newStr,8,'ccc'); //第8個減號後面的位置替換為ccc
echo$newStr.'.html';
應該能用吧
⑶ php替換字元串substr_replace函數
有時候我們希望替換字元串某些內容,可以用substr_replace()函數。這個函數有4個參數,其中前三個參數必須的。第一個表示原字元串,第二個表示要替換的字元串,第三個表示需要從哪裡開始替換。
先來兩個字元串,第一個字元串是原字元串,第二個字元串是打算替換的字元串,代碼如下:?php $str="abcdefg"; $srp="##";
我們想把原字元串全部替換掉,那麼就是重第一位的字元a開始替換,用substr_replace函數:$nstr=substr_replace($str,$srp,0); //第三個參數0表示從第一個字元開始替換
列印輸出新字元串:echo $nstr; 這個就是完全替換了。如果想替換一部分,比如替換掉前三個,需要加入第四個參數,用substr_replace函數就變成這樣: $str1="abcdefg"; $srp1="##"; $nstr1=substr_replace($str1,$srp1,0,3);【//從原字元串首字母開始替換,字元串長度達到3後結束替換,後面的不用替換,原樣輸出;】 中括弧里是注釋部分。
查看結果如圖:
⑷ 求簡單的php 正則表達式(提取第一個冒號之前的字元串)
$temp="abcd:efghi:jklm";
$r=preg_replace('/([^:]+):.*/','$1',$temp);
echo$r;
⑸ php的str_replace函數怎麼把<p><br/></p>替換掉呢
php的str_replace函數怎麼把<p><br/></p>替換掉方法如下
$html="<p>fdasf</p>";
echo $string = str_replace(array("<p>","","</p>"),"",$html);
br<http://bbs.hounwang.com/>
若是<p> 內容</p>替換成<p>內容</p>
<p> content</p>替換成<p>contend</p>
(空格是tab鍵和空格鍵 混合的 都有可能)方法如下
$html=preg_replace('/[ ]/','',$html);//去空格
若是<p>後面跟了若干個,再是內容
<p> 內容</p>
替換成<p>內容</p>
<p> content</p>
替換成<p>contend</p>
<?php
$html="<p>
內容</p>替換成<p>內容</p>
<p>content</p>替換成<p>contend</p>";方法如下
$html=trim($html);
$html=str_replace(PHP_EOL,"",$html);
$html=str_replace(" ","",$html);
$html=preg_replace('/s+/','',$html);
$html=preg_replace('/[ ]/','',$html);
echo "{$html}";
?>
⑹ 求用php正則表達式來替換字元的寫法。
字元 匹配 示例
^ 輸入或行的起始部分。 ^T 匹配「This good earth」中的「T」,但不匹配「Uncle Tom』s Cabin」中的「T」。
$ 輸入或行的結尾部分。 h$ 匹配「teach」中的「h」,但是不匹配「teacher」中的「h」
* 0 個或多個前置字元。 um* 匹配「rum」中的「um」、「yummy」中的「umm」以及「huge」中的「u」
+ 1 個或多個前置字元。 um+ 匹配「rum」中的「um」和「yummy」中的「umm」,但在「huge」中沒有任何匹配項
? 前置字元最多出現一次(即,指示前置字元是可選的)。 st?on 匹配「Johnson」中的「son」和「Johnston」中的「ston」,但在「Appleton」和「tension」中沒有任何匹配項
. 除換行符外的任何單字元。 .an 匹配短語「bran muffins can be tasty」中的「ran」和「can」
x|y x 或 y。 FF0000|0000FF 匹配 bgcolor=」#FF0000」 中的「FF0000」和 font color=」#0000FF」 中的「0000FF」
{n} 恰好 n 個前置字元。 o{2} 匹配「loom」中的「oo」和「mooooo」中的前兩個「o」,但在「money」中沒有任何匹配項
{n,m} 至少 n 個、至多 m 個前置字元。 F{2,4} 匹配「#FF0000」中的「FF」和「#FFFFFF」中的前四個「F」
[abc] 用括弧括起來的字元中的任何一個字元。用連字元指定某一范圍的字元(例如, [a-f] 等效於 [abcdef])。 [e-g] 匹配「bed」中的「e」、「folly」中的「f」和「guard」中的「g」
[^abc] 未在括弧中括起來的任何字元。用連字元指定某一范圍的字元(例如,[^a-f] 等效於[^abcdef])。 [^aeiou] 最初匹配「orange」中「r」、「book」中的「b」和「eek!」中的「k」
\b 詞邊界(例如空格或回車符)。 \bb 匹配「book」中的「b」,但在「goober」和「snob」中沒有任何匹配項
\B 詞邊界之外的任何內容。 \Bb 匹配「goober」中的「b」,但在「book」中沒有任何匹配項
\d 任何數字字元。等效於 [0-9]。 \d 匹配「C3PO」中的「3」和「apartment 2G」中的「2」
\D 任何非數字字元。等效於 [^0-9]。 \D 匹配「900S」中的「S」和「Q45」中的「Q」
\f 換頁符。
\n 換行符。
\r 回車符。
\s 任何單個空白字元,包括空格、製表符、換頁符或換行符。 \sbook 匹配「blue book」中的「book」,但在「notebook」中沒有任何匹配項
\S 任何單個非空白字元。 \Sbook 匹配「notebook」中的「book」,但在「blue book」中沒有任何匹配項
\t 製表符。
\w 任何字母數字字元,包括下劃線。等效於 [A-Za-z0-9_]。 b\w* 匹配「the barking dog」中的「barking」以及「the big black dog」中的「big」和「black」
\W 任何非字母數字字元。等效於 [^A-Za-z0-9_]。 \W 匹配「Jake&Mattie」中的「&」和「100%」中的「%」
Control+Enter 或 Shift+Enter (Windows)、 或者 Control+Return 或 Shift+Return 或 Command+ Return (Macintosh) 回車符。確保如果沒有使用正則表達式,則在搜索時取消對「忽略空白差別」的選擇。請注意,這匹配特定字元,而不是一般意義上的換行符;例如,它不匹配 <br> 標簽或 <p> 標簽。回車符在「設計」視圖中顯示為空格而不是換行符。