用正则表达式替换内容 php,正则表达式替换php
以前做一个项目,就是有一个问答的页面,比如说在回答或者提问的内容中插入表情。写到内容里的是表情图片的名字(而且是不带后缀的,比如:f_002.png)表情包放在项目里,我需要在取除内容的时候将里面的表情名字替换成图片。
存到数据库中的内容是这样的: 不知道[f_013] (最后面的这个[f_013]就是表情图在数据库中存放的形式)
我需要做的就是从数据库中取出内容,并且把内容中的像这样的字符 [f_013] 处理成图片地址,很显然这里需要用到正则表达式。
1.首先我得先找到这个字符串
$rule = <span>"</span><span>/(?:\[)(f_.[0-9]{1,3})(?:\])/i</span><span>"</span>;
这个正则匹配可以帮我找到表情的字符串
2.找到后就是把这个字符串换成表情图片存放的地址,这里用到了一个函数就是正则表达式的替换。
就是这个函数:preg_match_all
echo preg_replace(<span>"</span><span>/(?:\[)(f_.[0-9]{1,3})(?:\])/i</span><span>"</span>,<span>"</span><span><img src="/static/imghwm/default1.png" data-src="__PUBLIC__/face/f_013.png" class="lazy" alt="用正则表达式替换内容 php,正则表达式替换php" ></span><span>"</span>,$line[<span>'</span><span>content</span><span>'</span>]);
$line['content'] 这个是我从数据库中取出的内容,
"<img src="/static/imghwm/default1.png" data-src="__PUBLIC__/face/f_013.png" class="lazy" alt="用正则表达式替换内容 php,正则表达式替换php" >" 这个是我将要替换的图片地址,比如我的图片地址是这样的<img src="/static/imghwm/default1.png" data-src="__PUBLIC__/face/f_013.png" class="lazy" alt="用正则表达式替换内容 php,正则表达式替换php" ><br />这里面有一个非常重要的知识点: "\${1}" 它就是那个存放在数据库里面表情的字符串。<br />\${1} = f_013 <br /><br />我这里有我替换的一个完整代码:
<em id="__mceDel"><span><?php<br />$result</span> = <span>array</span><span>(); </span><span>$n</span> = <span>preg_match_all</span>("/(?:\[)(f_.[0-9]{1,3})(?:\])/i",<span>$line</span>['content'], <span>$result</span><span>); /*返回查找到符合条件的字符串的个数*/ </span><span>if</span>(<span>$n</span> == 0 || <span>$n</span> == <span>false</span><span>) /*如果是0或者false就说明没有表情*/<br /> { </span><span>echo</span> <span>$line</span>['content'<span>]; }</span><span>else<br /></span><span> { </span><span>echo</span> <span>preg_replace</span>("/(?:\[)(f_.[0-9]{1,3})(?:\])/i","<img src='__PUBLIC__/face/\${1}.png' alt="用正则表达式替换内容 php,正则表达式替换php" >",<span>$line</span>['content'<span>]); } </span>?></em>
陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
刺客信條陰影:貝殼謎語解決方案
2 週前ByDDD
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能