PHP:使用正则表达式将[img] src [/ img]更改为<img src="src" alt="src"/>

时间:2013-02-07 13:05:32

标签: php regex preg-replace

我想用正则表达式将[img]src[/img]更改为<img src="src" alt="src" >

我找到了一些将<img src="">转换为[img][/img]的示例,但不是我的情况。

谢谢!

3 个答案:

答案 0 :(得分:0)

$ret = preg_replace('#\[img\](.+)\[\/img\]#iUs', '<img src="$1" alt="img">', $ret);

但一般来说,你需要像专用的phpBB脚本或phpBB类。 甚至PHP本身也得到了BBCode文本处理器:http://www.php.net/manual/en/book.bbcode.php

答案 1 :(得分:0)

你可以测试它

 $str= preg_replace('~\[img\](.*)\[\/img\]~si', '<img src="$1" alt="$1">', $str);

答案 2 :(得分:0)

我相信这篇文章可以帮助您解决问题...

http://thesinkfiles.hubpages.com/hub/Regex-for-BBCode-in-PHP

function parseCode($txt)
{
   // these functions will clean the code first
   $ret = strip_tags($txt);

   // code replacements
   $ret = preg_replace('#\[b\](.+)\[\/b\]#iUs', '<b>$1</b>', $ret);
   $ret = preg_replace('#\[link\=(.+)\](.+)\[\/link\]#iUs', '<a href="$1">$2</a>', $ret);
   $ret = preg_replace('#\[img\](.+)\[\/img\]#iUs', '<img src="$1" alt="Image" />', $ret); 
   $ret = preg_replace('#\[quote\=(.+)\](.+)\[\/quote]#iUs', '<div class="quote">$2</div><div class="quote-by">By: $1</div>', $ret);


   // return parsed string
   return $ret;
}