導航:首頁 > IDC知識 > php正則替換域名

php正則替換域名

發布時間:2020-10-20 17:10:54

1、php 正則替換img路徑

思路是,讀取CSS樣式文件,正則取出所有url路徑;然後,再用copy和unlink更換路徑。代碼如下:
<?php
$str=file_get_contents("layout.css");
preg_match_all("/url\((.*)\) /",$str,$out);
foreach($out[1] as $v){
$new=str_replace("../pic","img",$v);//設置新路徑
if(file_exists($v)){//判斷是否存在
copy($v,$new);//復制到新目錄
unlink($v);//刪除老文件
}else{
echo $v."<br/>";//如果不存在,就輸出文件目錄+文件名
}
}
?>
你可以去後盾人平台看看,裡面有很多學習視頻,還有線上直播,我也在那裡學習

2、php正則替換某一div

<?php
$str = '
<div class="1"></div>
<div class="2"></div>

<!--需要替換的開始-->
<div class="pagination">
<div class="page-bottom">
<span class="page-info">最近30天成交件 </span>
<span>上一頁</span>1
<span class="page-cur">2</span>
3
<span class="page-break">…</span>
<span>下一頁</span>
</div>
</div>

版 <p class="view-all">查看更多歷權史記錄<ins></ins></p>

</div>
<!--需要替換的結束-->
';

$search = '/<div class="pagination">.*?<\/p>(\t|\r\n|\n|\s)*<\/div>/is';
$r = preg_replace($search,'',$str);
highlight_string($r);
?>

3、求高手寫php驗證域名的正則表達式

||<?php
$str = "http://www.12aa_china521.com";
$strlen = strlen($str);
if($strlen<2 || $strlen>46)
{
echo "域名長度為2-46";
exit;
}
$arr = explode(".",$str);
if(strtolower(end($arr))=="cn")
{
if(strpos($str,"china") || strpos($str,"chinese"))
{
echo "cn後綴的域名不允許含有china或者chinese";
exit;
}
}
$preg = "/^(?:http:\/\/)?www.[0-9a-zA-Z]+_?[0-9a-zA-Z]+.(?:com(?:.cn)?|net|org|info|mobi)$/";
if(preg_match($preg,$str))
{
echo "域名正確";
}else{
echo "域名不正確";
}
?>

4、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);

5、PHP正則表達式如何匹配出域名?

看看我下面的例子代碼:

<?php
$s='http://www.abc.com
http://www.def.com/
https://www.ghl.com/';
if (preg_match_all('#https?://(.*?)($|/)#m', $s, $r)) print_r($r[1]);
?>

執行的結果是:

E:\ygb>php a.php
Array
(
    [0] => www.abc.com
    [1] => www.def.com
    [2] => www.ghl.com
)

6、php正則替換變數數字「str_replace」怎麼用?

PHP,一個嵌套的縮寫名稱,是英文超級文本預處理語言(PHP:Hypertext Preprocessor)的縮寫。PHP 是一種 HTML 內嵌式的語言,PHP與微軟的ASP頗有幾分相似,都是一種在伺服器端執行的嵌入HTML文檔的腳本語言,語言的風格有類似於C語言,現在被很多的網站編程人員廣泛的運用。

PHP 獨特的語法混合了C、Java、Perl 以及 PHP 自創新的語法。它可以比 CGI 或者 Perl 更快速的執行動態網頁。

PHP最初是由勒多夫在1995年開始開發的;現在PHP的標准由the PHP Group維護。PHP以PHP License作為許可協議,不過因為這個協議限制了PHP名稱的使用,所以和開放源代碼許可協議GPL不兼容。

$str="news-123";
$str=preg_replace('/news-(d+)/','news',$str);
echo $str;
換個函數哦,str_replace是不支持正則的

7、PHP-php中如何使用正則表達式匹配URL中的域名

^<?php 
// 從 URL 中取得主機名 
preg_match("/^(http://)?([^/]+)/i", "IP/index.html", $matches); 
$host = $matches[2]; 
// 從主機名中取得後面兩段 
preg_match("/[^./]+.[^./]+$/", $host, $matches); 
echo "domain name is: {$matches[0]} "; 
?>

8、php 正則查找 圖片的src 並替換相應的src

/TestDemo/Tpl/default/Public/Files/2010_09_04/1283591048.jpg轉
/TestDemo/Tpl/default/File/Uploads/2010_9_6/1283591048.jpg
根據你題目裡面舉例的這種對比的需求,轉換條件認為是
「/Public/Files/全日期/數字.jpg」形式的圖片轉換成
「/File/Uploads/緊縮日期/數字.jpg」形式的圖片。如果實際你的需求有所不同,可以根據這個略微對正則做修改。代碼替換部分如下:

$str1 = "<p><img height=\"32\" alt=\"\" src=\"/TestDemo/Tpl/default/Public/Files/2010_09_04/1283591048.jpg\" width=\"32\" border=\"0\" />來留言看看這的風景好嗎 <img alt=\"\" src=\"/TestDemo/Public/kindeditor/plugins/emoticons/13.gif\" border=\"0\" /></p><img height=\"32\" alt=\"\" src=\"/TestDemo/Tpl/default/Public/Files/2010_12_01/88668866.jpg\" width=\"32\" border=\"0\" />";
//這里多舉一個圖片例子試試
$str2 = preg_replace("/(src=\"[^\"]*?)\/Public\/Files(\/\d{4}_)[0]?(\d{1,2}_)[0]?(\d{1,2}\/\d+[.](?:jpg|gif|bmp)\")/","$1/File/Uploads$2$3$4$5",$str1);
?>
//規則有不同的話你可以這里對比修改下正則參數。good luck~

//----------------------------------------
既然需求少了那麼多,就可以
$str2 = preg_replace("/(src=\"[^\"]*?)\/Public\/Files(\/\d{4}_\d{1,2}_\d{1,2}\/\d+[.](?:jpg|gif|bmp)\")/","$1/File/Uploads$2",$str1);
行了,如果對圖片的格式限制不嚴格(嚴格點的就需要在尾巴那裡羅列出來),可以再簡化成
$str2 = preg_replace("/(src=\"[^\"]*?)\/Public\/Files(\/\d{4}_\d{1,2}_\d{1,2}\/\d+[.][a-zA-Z]+\")/","$1/File/Uploads$2",$str1);

9、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

10、php正則表達式 正則匹配網址是否帶http:// https://

|$str = "https://xxxxxxxxx";
if(preg_match("/^(http:\/\/|https:\/\/).*$/",$str)){
echo "yes";
}

親測是可以的,你可以自己拿去試一試

與php正則替換域名相關的知識