phpRegex替換URL連結地址為指定url

來源:互聯網
上載者:User

PHPRegex替換的相關概念:

preg_replace:執行Regex的搜尋和替換

mixed preg_replace (   mixed pattern,   mixed replacement,   mixed subject [, int limit]) preg_replace:允許你替換字串中匹配到你定義的Regex。一個簡單的注釋移除功能:

preg_replace('[(/*)+.+(*/)]', '', $val); 這段代碼可以移除在 PHP 和 CSS 中使用 /* 注釋 */ 格式的多多行注釋。其中的三個參數分別為Regex,要替換成的字串和要替換的目標字串(這裡要做移除功能,所以是個空白字串 -> '')。如果你想匹配次級規則,可以使用 $0 代表全部匹配,$1、$2 等,以此類推代表分別的次級規則。

如把空格替換-

例子 1 :

 代碼如下 複製代碼

<?php
$str = "The quick brown fox jumped over the lazy dog.";
$str = preg_replace('/s/','-',$str);
echo $str;
?>
輸出結果為:

The-quick-brown-fox-jumped-over-the-lazy-dog.

替換數組

 代碼如下 複製代碼

<?php
$str = "The quick brown fox jumped over the lazy dog.";

$patterns[0] = "/quick/";
$patterns[1] = "/brown/";
$patterns[2] = "/fox/";

$replacements[2] = "bear";
$replacements[1] = "black";
$replacements[0] = "slow";

print preg_replace($patterns, $replacements, $str);
/*輸出:
The bear black slow jumped over the lazy dog.
*/
ksort($replacements);
print preg_replace($patterns, $replacements, $str);
/*輸出:
The slow black bear jumped over the lazy dog.
*/
?>


連結形式是:<a href="http://bootstrap.jincon.com/" target="_blank">Bootstrap中文網</a> ,

而我們採集後希望變成:<a href="http://www.yifen5.com/tag/Bootstrap中文網" target="_blank">Bootstrap中文網</a>

這裡面涉及到正則出來url連結的關鍵字問題。範例程式碼如下:

 代碼如下 複製代碼

<?php
$a = '<a href="http://bootstrap.jincon.com/" target="_blank">Bootstrap中文網</a>提供<a href="http://bootstrap.jincon.com/" target="_blank">Bootstrap中文手冊</a>,學習<a href="http://bootstrap.jincon.com/" target="_blank">Bootstrap入門教程</a>,<a href="http://bootstrap.jincon.com/" target="_blank">Bootstrap</a>是Twitter推出的一個用於前端開發的開源工具包。它由Twitter的設計師Mark Otto和Jacob Thornton合作開發,是一個CSS/HTML架構。<a href="http://bootstrap.jincon.com/" target="_blank">Bootstrap中文網</a>致力於為廣大國內開發人員提供詳盡的中文文檔、代碼執行個體等,助力開發人員掌握並使用這一架構。';

$lines_string=preg_replace("(<a[^>]*>(.+?)</a>)","<a href='http://www.yifen5.com/tag/$1'>$1</a>",$a);
print_r($lines_string);
?>

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.