⑴ php中正則匹配img標簽,並且替換了。
這個用前台的js+dom處理 比較合適
如果非要 用php處理 也可以 只是比較麻煩
function add_http($string){
$a=preg_match_all('/<img.*?>/i',$string,$img_arr);
if(!$a){exit;}
foreach($img_arr[0] as $img){
$b=preg_match('/src\s*?=.*?(\'|").*?(\'|")/i',$img,$url);
if(!$b){continue;}
$url=str_ireplace(' ','',$url[0]);
$url=str_ireplace('src=','',$url);
$url=str_ireplace('"','',$url);
$url=str_ireplace("'",'',$url);
$url_re=str_ireplace('http://','',$url);
$img_url=str_ireplace($url,'http://'.$url_re,$img);
$string=str_ireplace($img,$img_url,$string);
}
return $string;
}
對代碼有什麼不懂的,可以問我
⑵ php 正則替換所有img標簽並且去掉多餘屬性
//寫的一個正則,你試試
preg_replace("/<imgs*src=("|')(.*?)\1[^>]*/is",'<imgsrc="$2"/>',$str)
⑶ php正則替換img標簽,在線等
^我估計是你全局替換HTML文本!
第一個:
$output = preg_replace('/<img[^>]+original=\"[^>]+xijie\.jpg\"[^>]+\/>/g','<img width="958" height="40" src="/images/upload/Image/proct-3.png">',$input);
第二個版:
$output = preg_replace('/<img[^>]+original=\"[^>]+\/images\/describe\/[^>]+\"[^>]+\/>/g','',$input);
第三個權:
$output = preg_replace('/<p>\s*<\/p>/g','',$input);
⑷ 請問怎樣用php 正則表達式取設置寬和高的[img][/img]標簽裡面的圖片地址
用php給你運行了一個
$txt='[img=442,296]圖片地址1[/img]
[img=300,188]圖片地址2[/img]
[img=120,206]圖片地址3[/img]';
$re='/[img=(d+,d+)](S+?)[/img]/';//這里修改下,加上一個?防止以單行文本導致的定界符不準問題
$arr=[];
preg_match_all($re,$txt,$arr);
var_mp($arr);
運行結果如下
phptest.php
array(3){
[0]=>
array(3){
[0]=>
string(32)"[img=442,296]圖片地址1[/img]"
[1]=>
string(32)"[img=300,188]圖片地址2[/img]"
[2]=>
string(32)"[img=120,206]圖片地址3[/img]"
}
[1]=>
array(3){
[0]=>
string(7)"442,296"
[1]=>
string(7)"300,188"
[2]=>
string(7)"120,206"
}
[2]=>
array(3){
[0]=>
string(13)"圖片地址1"
[1]=>
string(13)"圖片地址2"
[2]=>
string(13)"圖片地址3"
}
}
//增加一個矩陣轉換
$txt='[img=442,296]圖片地址1[/img][img=300,188]圖片地址2[/img][img=120,206]圖片地址3[/img][img=120,206]wwww[/img]';
$re='/[img=(d+,d+)](S+?)[/img]/';
var_mp(preg_match_all_to_array($re,$txt));
functionpreg_match_all_to_array($re,$txt)
{
$arrs=[];
preg_match_all($re,$txt,$arrs);
if($arrs===false)
return$arrs;
//移除到總匹配數據
array_shift($arrs);
$return=[];
//獲取矩陣縱長
$arrs_longitudinal=count($arrs);
for($i=0;$i<$arrs_longitudinal;$i++){
//獲取單列橫長
$arrs_transverse=count($arrs[$i]);
for($j=0;$j<$arrs_transverse;$j++){
$return[$j][$i]=$arrs[$i][$j];
unset($arrs[$i][$j]);
}
unset($arrs[$i]);
}
return$return;
}
⑸ PHP 正則過濾圖片的代碼
$oldhtml = "<div><span><img src=\"11\" />111111<img src=\"33\" /><img src=\"22\" /></span></div>";
$pattern = "#<img[^復>]+>#";
$html = preg_replace ($pattern , "" , $oldhtml);
輸出的制結果就替換掉所有圖片了
⑹ php正則表達式怎麼過濾除了img標簽其他都去刪掉
strip_tags($text,'<p><img><br>');
⑺ php正則匹配img標簽,並刪除
先引入jquery庫
<script type="text/javascript">
$(function(){
$('img.delImg').click(function(){
if(confirm('確定刪除嗎?')){
var delSrc = $(this).prev().attr('src');
alert(delSrc);//如果你需要對該src做其版他操作修改此處權
$(this).parents('li:first').remove();
}
});
});
</script>
⑻ 如何取出img標簽的正則表達式(php)
下面我提供點寫法:
<?php
$html='<imgsrc="/Cms/Upload/image/20140912/20140912041822_11373.png"alt=""/>
<imgsrc="/Cms/Upload/image/20140912/20140912041822_11373.png"alt=""width="233"/>
<imgsrc="/Cms/Upload/image/20140912/20140912041822_11373.png"alt=""height="400"/>
';
$trip=array('width','height');//過濾的標簽,這個根據需要修改
preg_match_all('/<img[^>]*>/',$html,$match);//匹配img標簽
$res=array();//結果存放
foreach($match[0]as$val)
{
$flag=true;//是否滿足條件
foreach($tripas$s)
{
if(preg_match('/'.$s.'/',$val))//查到在過濾的標簽中,不滿足條件
{
$flag=false;
break;
}
}
if($flag)
{
preg_match_all('/image[^"]*"/',$val,$temp);//滿足條件取出類似image/20140912/20140912041822_11373.png"這一段
$res[]=substr(substr($temp[0][0],0,-1),6);//取出類似20140912/20140912041822_11373.png這一段,並存放到結果數組中
}
}
var_mp($res);
?>
⑼ php用正則表達式替換img中src的路徑。
--這個還要寫正則!直接用DW就可以批量替換了!
幫你寫了一個版
$url='<imgwidth="197"height="253"alt=""src="/case/clxy/page/files/newspic/20090928084704364888.jpg"border="0"/>';
$ok=preg_replace('/(<img.+src="?.+)(case/clxy/page/)(.+."?.+>)/i',"${1}${3}",$url);
echo$ok;
替換後的結果權為
<imgwidth="197"height="253"alt=""src="/files/newspic/20090928084704364888.jpg"border="0"/>
⑽ php通過正則過濾img標簽
你好,
關於你問的php通過正則過濾img標簽的問題,
沒看明白你問的是什麼?
能不能再表達清楚一點