我想用正则表达式将[img]src[/img]
更改为<img src="src" alt="src" >
。
我找到了一些将<img src="">
转换为[img][/img]
的示例,但不是我的情况。
谢谢!
答案 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;
}