首頁 > 後端開發 > php教程 > 正则表达式求救

正则表达式求救

WBOY
發布: 2016-06-23 13:33:50
原創
954 人瀏覽過

[#微笑][#大哭][#色] 如果通过preg_replace() 变成正则表达式求救正则表达式求救正则表达式求救


回复讨论(解决方案)

$str='[#微笑][#大哭][#色]';preg_match_all('/\[#(.+?)\]/',$str,$m);echo '<img  src="'.$m[1][0].'.jpg"/ alt="正则表达式求救" ><img  src="'.$m[1][1].'.jpg"/ alt="正则表达式求救" ><img  src="'.$m[1][2].'.jpg"/ alt="正则表达式求救" >';
登入後複製

我的$str里面的表情数量是不定的,而且还会有其他非表情的字符

如:$str=我来啦!![#微笑][#微笑]么么~~[#色] 变成:我来啦!!正则表达式求救正则表达式求救么么~~正则表达式求救

网上看了个例子:$str = preg_replace ( "[\[#([0-9]*)\]]", "正则表达式求救", $str );
但是这个只能替换[#1][#22]这种 如果是中文的 要怎么改呢?正则一点都不懂啊

$str='af d [#微笑]adfaf[#大哭]asdfasd[#色]asdfaf';$new = preg_replace('/\[\#(.+?)\]/', "<img  src='$1.jpg'/ alt="正则表达式求救" >", $str);var_dump($new);
登入後複製
登入後複製

$str='af d [#微笑]adfaf[#大哭]asdfasd[#色]asdfaf';$new = preg_replace('/\[\#(.+?)\]/', "<img  src='$1.jpg'/ alt="正则表达式求救" >", $str);var_dump($new);
登入後複製
登入後複製



这个可以!感谢!!

$str = "[#微笑][#大哭][#色]";
$pattern = "/\[#([\s\S]*)\]\s*\[#([\s\S]*)\]\s*\[#([\s\S]*)\]\s*/";
preg_match_all($pattern,$str,$match);
$new_str = preg_replace($pattern,'正则表达式求救正则表达式求救正则表达式求救',$str);
echo $new_str;

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板