php正則表達式替換
❶ php正則表達式替換圖片地址
<?php
/*PHP正則提取圖片img標記中的任意屬性*/
$str
=
'<center><img
src="/uploads/images/20100516000.jpg"
height="120"
width="120"><br
/>PHP正則提取或更改圖片img標記中的任意屬性</center>';
//1、取整個圖片代碼
preg_match('/<\s*img\s+[^>]*?src\s*=\s*(\'|\")(.*?)\\1[^>]*?\/?\s*>/i',$str,$match);
echo
$match[0];
//2、取width
preg_match('/<img.+(width=\"?\d*\"?).+>/i',$str,$match);
echo
$match[1];
//3、取height
preg_match('/<img.+(height=\"?\d*\"?).+>/i',$str,$match);
echo
$match[1];
//4、取src
preg_match('/<img.+src=\"?(.+\.(jpg|gif|bmp|bnp|png))\"?.+>/i',$str,$match);
echo
$match[1];
/*PHP正則替換圖片img標記中的任意屬性*/
//1、將src="/uploads/images/20100516000.jpg"替換為src="/uploads/uc/images/20100516000.jpg")
print
preg_replace('/(<img.+src=\"?.+)(images\/)(.+\.(jpg|gif|bmp|bnp|png)\"?.+>)/i',"\${1}uc/images/\${3}",$str);
echo
"<hr/>";
//2、將src="/uploads/images/20100516000.jpg"替換為src="/uploads/uc/images/20100516000.jpg",並省去寬和高
print
preg_replace('/(<img).+(src=\"?.+)images\/(.+\.(jpg|gif|bmp|bnp|png)\"?).+>/i',"\${1}
\${2}uc/images/\${3}>",$str);
?>
❷ PHP 字元串替換 正則表達式 preg_match_all 方法
<?php
$a="floor(ceil(TC003*TC003)*price3+floor(20*(TC123+TC101))+(TC213+TC033)*tTC001000+pprice222+tc1)";
$out=preg_replace('/(?:TCd{3}|priced{1})(?!d)/i','1',$a);
echo'<pre>';
print_r($out);
//結果
//floor(ceil(1*1)*1+floor(20*(1+1))+(1+1)*tTC001000+pprice222+tc1)
❸ PHP正則表達式替換函數eregi_replace不起作用
在5.3版的以後的php,比如5.4, 5.5,已經廢除了eregi_replace函數
去掉@,用preg_replace替代。
❹ PHP批量替換 php正則表達式 替換問題
你這個需要用工具軟體完成了,我一般用dreamweaver
打開DW ,編輯 --查找和替換(Ctrl+F)
選擇查找范圍 指定到你的目錄
查找項 輸入 $E = "(.*?)";
替換項 輸入 $E = "固定的比如123";
勾選 使用正則表達式 替換全部 即可
❺ PHP 正則表達式如何替換行末指定字元而不替換行首與行末相同的字元
<?php
$pattern='/DVD$/';
$str="燦爛人生DVD";
$str=preg_replace($pattern,'',$str);
var_mp($str);die;
?>
$匹配末尾的字元
❻ php正則替換怎麼寫
$str = 'fsda[123d]dfa[1[3]2]sdf';
$str = preg_replace('/\[(.*?)\]/','($1)',$str);
echo $str;
/\[(.*?)\]/ 這個是正則表達式。
$0是整個匹配出來的字元串,$1是第一個圓括弧裡面匹配出來的,所以我們只取圓括弧裡面匹配到的字元串,再在兩邊加上圓括弧。
不過這個不能對付有嵌套的方括弧。
❼ 【PHP】怎樣用正則表達式取【】中括弧內的內容並替換
這里是下載地址:7vd
.cn/heE(去掉點前空格)
核心代碼:
$result
=
mysql_query("SELECT
*
FROM
`query_replace`
WHERE
uid=33",$conn);
$data
=
mysql_fetch_assoc($result);
$html='[email]你好:你於[time]設置了[action]';
$keys
=
array_keys($data);
$keys_string
=
'['.implode('],[',$keys).']';
$replace
=
explode(',',$keys_string);
$html
=
str_replace($replace,array_values($data),$html);
❽ PHP正則表達式如何替換掉某字
<?php
$string='倚天屠龍記2019版粵語版';
$pattern='/版$/';
$replacement='';
echopreg_replace($pattern,$replacement,$string);
?>
$pattern='/版$/';正則表達式,匹配最後一個字是版.匹配第一個'版'。'/版/'。匹配所有的版'/版/g'。
$replacement='';用來替換的內容,去掉就是替換為空字元串。
更多需求查看php正則表達式教程網頁鏈接
❾ php 正則表達式匹配一個字元串的多個值 然後逐一替換掉裡面的 不全部替換成一個
舉個例子給你看看是不是你想要的。
有個字元串「abcadeafg」,把其中的三個字母a分別替換成x,y,z:
$pattern=array('/a/','/a/','/a/');
$replacement=array('x','y','z');
$subject='abcadeafg';
$res=preg_replace($pattern,$replacement,$subject,1);
echo$res;//xbcydezfg
❿ php如何進行正則替換
按照你的要求把h後的數字和w後的任意數字替換成固定數的php程序如下
<?php
$fix='555';//固定數
$str='asdasda/w/100/h/200/q/sdasdsad';
$regex1="~h/[0-9]+~";
$result=preg_replace($regex1,"h/".$fix,$str);
$regex2="~w/[0-9]+~";
$result=preg_replace($regex2,"w/".$fix,$result);
print_r($result);
?>
運行結果
asdasda/w/555/h/555/q/sdasdsad