簡體   English   中英

如何替換[link](#)進行<a href=“#”>鏈接</a> ?

[英]how can I replace [link](#) to <a href=“#”>link</a>?

我想做類似stackoverflow的事情。 實際上將此樣式[]()更改為<a href=""></a>樣式。 這是我的嘗試:

$str = '[link](#)';
$str = str_replace('[','<a href="',$str);     // output: <a href="link](#)
$str = str_replace(']','">',$str);            // output: <a href="link">(#)
$str = str_replace('(','',$str);              // output: <a href="link">#)
$str = str_replace(')','</a>',$str);          // output: <a href="link">#</a>

但是現在,我需要用#更改link ,我該怎么做?

您想看一下preg_replace() ,使用它可以使用正則表達式替換它,例如

$str = preg_replace("/\[(.*?)\]\((.*?)\)/", "<a href='$2'>$1</a>", $str);

正則表達式說明:

\[(.*?)\]\((.*?)\)
  • \\ [匹配字符[從字面上
  • 第一捕獲組(。*?)
    • 。*? 匹配任何字符(換行符除外)
      • 量詞: *? 在0到無限制的時間之間,盡可能少的時間,根據需要擴展[懶惰]
  • \\ ]從字面上匹配字符[]
  • \\(匹配字符(從字面上
  • 第二捕獲組(。*?)
    • 。*? 匹配任何字符(換行符除外)
      • 量詞: *? 在0到無限制的時間之間,盡可能少的時間,根據需要擴展[懶惰]
  • \\ )從字面上匹配字符)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM