2017-02-21 5 views
0

こんにちは、私はPHPで達成したいことは、2つの単語(すべての出現)の間の値を見つけて、これを別の文字列に置き換えて、 。ここ は私が達成したいどのような例PHP Regexは2つの単語の間に一致する値を置き換えます

$mysting = "[link]http://website.com[/link] bla bla bla bla [link]http://google.com[/link]"; 

だこの文字列を作るです:

$newString = "<a href='http://website.com'>http://website.com</a> bla bla bla bla <a href='http://google.com'>http://google.com</a>"; 

私はこれをどのように行うことができますか? これは私が今

preg_match("/(?<=[link])(.*)(?=[/link])/", $formData ,$match); 

事前に感謝のために持っているものです!

+0

、非貪欲メイク – anubhava

+1

http://php.net/manual/en/function.bbcode -create.php http://php.net/manual/en/function.bbcode-parse.php – AbraCadaver

答えて

1

使用preg_replace機能:

$mysting = "[link]http://website.com[/link] bla bla bla bla [link]http://google.com[/link]"; 
$new_str = preg_replace("/\[link\]([^\[]+)\[\/link\]/", "<a href='$1'>$1</a>", $mysting); 

print_r($new_str); 

(ソースコードのような)出力:

<a href='http://website.com'>http://website.com</a> bla bla bla bla <a href='http://google.com'>http://google.com</a> 
+0

またはbbcodeパーサー;-) – AbraCadaver

+0

ありがとうございました! – Branko

+0

@Branko、ようこそ – RomanPerekhrest

関連する問題