$str=preg_replace("/[attach]/is","111",$str); 这一句如何把111替换成可以执行的PHP代码
$str=preg_replace("/\[attach\]/is","111",$str); 这一句如何把111替换成可以执行的PHP代码
比如$str=preg_replace("/\[attach\]/is","",$str); 结果出来后成字符了
回复讨论(解决方案)
$message=preg_replace("/\[url\](http:[^\]]*?)\[\/url\]/ies","_cuturl('\\1')",$message);function _cuturl($msg){ $new=cutstr($msg,20); return $new;}
在正则后面加符号/e,就可以调用函数,在里面就可以执行php的操作
$str=preg_replace("/\[attach\]/is","",$str);
这个是BBCODE的PHP替换。你应该是想实现类似DISCUZ的那种附件BBCODE。
要想回调可以使用 preg_replace_callback。
<?php //author: default7<default7#zbphp.com$str = preg_replace_callback("/\[attach\](\d+)\[\/attach\]/isUe",function($attachId = 0){ //todo $row = $db->query("select * from tb where id=$id ")->row(); return '<img src="/static/imghw/default1.png" data-src="'.$row['pic'].'" class="lazy" .$row['pic'].'" / alt="$str=preg_replace("/[attach]/is","111",$str); 这一句如何把111替换成可以执行的PHP代码" >';},$str);
原理如上,具体代码自己测试一下。
这个是BBCODE的PHP替换。你应该是想实现类似DISCUZ的那种附件BBCODE。
要想回调可以使用 preg_replace_callback。
<?php //author: default7<default7#zbphp.com$str = preg_replace_callback("/\[attach\](\d+)\[\/attach\]/isUe",function($attachId = 0){ //todo $row = $db->query("select * from tb where id=$id ")->row(); return '<img src="/static/imghw/default1.png" data-src="'.$row['pic'].'" class="lazy" .$row['pic'].'" / alt="$str=preg_replace("/[attach]/is","111",$str); 这一句如何把111替换成可以执行的PHP代码" >';},$str);
原理如上,具体代码自己测试一下。
修正:
$str = preg_replace_callback("/\[attach\]\s*(\d+)\s*\[\/attach\]/isUe",function($match){ //todo $id = $match[1]; $row = $db->query("select * from tb where id=$id ")->row(); return $row ? '<img src="/static/imghw/default1.png" data-src="'.$row['pic'].'" class="lazy" .$row['pic'].'" / alt="$str=preg_replace("/[attach]/is","111",$str); 这一句如何把111替换成可以执行的PHP代码" >' : '';},$str);
$str=preg_replace("/\[attach\]/is","",$str)
这个是BBCODE的PHP替换。你应该是想实现类似DISCUZ的那种附件BBCODE。
要想回调可以使用 preg_replace_callback。
<?php //author: default7<default7#zbphp.com$str = preg_replace_callback("/\[attach\](\d+)\[\/attach\]/isUe",function($attachId = 0){ //todo $row = $db->query("select * from tb where id=$id ")->row(); return '<img src="/static/imghw/default1.png" data-src="'.$row['pic'].'" class="lazy" .$row['pic'].'" / alt="$str=preg_replace("/[attach]/is","111",$str); 这一句如何把111替换成可以执行的PHP代码" >';},$str);
原理如上,具体代码自己测试一下。
修正:
$str = preg_replace_callback("/\[attach\]\s*(\d+)\s*\[\/attach\]/isUe",function($match){ //todo $id = $match[1]; $row = $db->query("select * from tb where id=$id ")->row(); return $row ? '<img src="/static/imghw/default1.png" data-src="'.$row['pic'].'" class="lazy" .$row['pic'].'" / alt="$str=preg_replace("/[attach]/is","111",$str); 这一句如何把111替换成可以执行的PHP代码" >' : '';},$str);
出现错误提示:Parse error: syntax error, unexpected T_FUNCTION in
指向$str = preg_replace_callback("/\[attach\]\s*(\d+)\s*\[\/attach\]/isUe",function($match){这一行
你的 php 版本是多少?
php5.2
function get($id) { //$value = 这里是相关操作的代码 return $value;}$str = preg_replace("/\[(attach)\]/ise", "get('$1')", $str);
也可以
function get($r) { //$value = 这里是相关操作的代码 return $value;}$str = preg_replace_callback("/\[(attach)\]/is", "get", $str);
dz的手机版不显示图片,所以我想自己写一个 显示人页面。
function get($r) { $value = SELECT * FROM `bbs_forum_attachment_$row[tableid]` where tid =id return $value;}$str = preg_replace_callback("/\[(attach)\]/is", "get", $str);
where tid =id 这个ID如何得到
你 print_r($r) 就可看到
你 print_r($r) 就可看到
function get($r) { $value = "SELECT * FROM `bbs_forum_attachment_9` where tid =$r" return $value;}$str = preg_replace_callback("/\[(attach)\]/is", "get", $str);
错误提示:Parse error: syntax error, unexpected T_RETURN
第二行的结尾分号少写了。
第二行的结尾分号少写了。
呵呵;我改成
function get($r) { $value = "SELECT * FROM `bbs_forum_attachment_9` where tid =$r"; return $value;}$str = preg_replace_callback("/\[(attach)\]/is", "get", $str);
可是前天输出
SELECT * FROM `bbs_forum_attachment_9` where tid =Array26588
我想要的是SELECT * FROM `bbs_forum_attachment_9` where tid =26588 不要Array 怎么弄
我改成单引号前台输出 SELECT * FROM `bbs_forum_attachment_9` where tid =$r
是不是这段php语句没有执行,直接转成文本了
26588 从哪里来的? 在get方法里面 print_r($r); 得到什么?
改成$str = preg_replace_callback("/\[attach\](.+?)\[\/attach\]/is", "get", $str); 之后
输出:SELECT * FROM `bbs_forum_attachment_9` where tid =Array
26588 从哪里来的? 在get方法里面 print_r($r); 得到什么?
在get方法里面 print_r($r); 得到 值是 1
26588应该是第一次没有过滤干净
看不懂了,print_r($r); 怎么可能是1呢?
php5.2
忘了写明,我写的那个要 PHP 5.5+
php5.2 怎么写呢

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

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

自動化和任務調度在簡化軟體開發中的重複任務方面發揮著至關重要的作用。想像一下,有一個Python腳本需要每5分鐘執行一次,例如從API取得資料、執行資料處理或發送定期更新。如此頻繁地手動運行腳本可能非常耗時且容易出錯。這就是任務調度的用武之地。在這篇文章中,我們將探討如何安排Python腳本每5分鐘執行一次,確保它自動運行而無需手動幹預。我們將討論可用於實現此目標的不同方法和程式庫,使您能夠有效地自動化任務。使用time.sleep()函數每5分鐘運行一次Python腳本的簡單方法是利用tim

如何使用Python在Linux中進行腳本編寫和執行在Linux作業系統中,我們可以使用Python編寫並執行各種腳本。 Python是一種簡潔而強大的程式語言,它提供了豐富的函式庫和工具,使得腳本編寫變得更加簡單和有效率。以下我們將介紹在Linux中如何使用Python進行腳本編寫和執行的基本步驟,同時提供一些具體的程式碼範例來幫助你更好地理解和運用。安裝Pytho

Brown-Forsythe檢定是一種統計檢驗,用於確定兩個或多個組別的變異數是否相等。 Levene檢定使用與平均數的絕對偏差,而Brown-Forsythe檢定則使用與中位數的偏差。檢定中使用的原假設如下-H0:組(總體)的方差相等備擇假設是方差不相等-H1:組(群體)的方差不相等為了執行測試,我們計算每組的中位數以及與中位數的絕對偏差。然後我們根據這些偏差的變異數計算F統計量。假設計算出的F統計量大於F分佈表中的臨界值。在這種情況下,我們拒絕原假設並得出結論:各組的變異數不相等。在Python中,sc

ANCOVA(協方差分析)是一種有用的統計方法,因為它可以在分析中包含協變量,這可以幫助調整輔助變量並增加組間比較的精確度。這些額外的因素或協變量可以透過使用ANCOVA將其納入研究中。為了確保觀察到的組間差異是由研究中的治療或介入引起的,而不是由無關因素引起的,可以使用ANCOVA來調整協變量對組別平均值的影響。這可以使組間比較更準確,並給出更可靠的關於變數之間關係的結論。在本文中,我們將仔細研究ANCOVA並在Python中實作。什麼是ANCOVA?協方差分析(ANCOVA)方法比較兩個或多個組別

怎樣在瀏覽器中編寫PHP程式碼並保持程式碼不被執行?隨著網路的普及,越來越多的人開始接觸網頁開發,其中對於PHP的學習也越來越受到關注。 PHP是一種在伺服器端運行的腳本語言,通常用於編寫動態網頁。然而,在練習階段,我們希望能夠在瀏覽器中編寫PHP程式碼並查看結果,但又不希望程式碼被執行。那麼,如何實現在瀏覽器中編寫PHP程式碼並保持不被執行呢?以下將詳細介紹。首先,

1Unicode電腦儲存的基本單位是位元組,由8個位元組組成。由於英文只由26個字母加若干符號組成,因此英文字元可以直接用位元組來保存。但是其他語言(例如中日韓等),由於字元眾多,不得不使用多個位元組來進行編碼。隨著電腦科技的傳播,非拉丁文字元編碼技術不斷發展,但是仍有兩個比較大的限制:不支援多語言:一種語言的編碼方案不能用於另一種語言沒有統一標準:例如中文就有GBK、GB2312、GB18030等多種編碼標準由於編碼方式不統一,開發人員就需要在不同編碼之間來回轉換,不可避免地會出現很多錯

在Linux環境下,我們經常會遇到需要執行.sh檔案的情況。 .sh檔案是Linux系統中的腳本文件,通常以.sh作為後綴名,用於執行一系列的命令。但有時候我們可能會遇到.sh檔案無法執行的問題,可能是因為權限問題或編碼格式等原因。本文將介紹在Linux環境下如何處理.sh檔案執行問題,並提供具體的程式碼範例。 1.新增執行權限在Linux系統中,如果一個.

__str__和__repr__有什麼異同?字串的表示形式我們都知道,Python的內建函數repr()能夠把物件用字串的形式表達出來,方便我們辨認。這就是“字串表示形式”。 repr()就是透過__repr__這個特殊方法得到一個物件的字串表示形式的。如果沒有實作__repr__,當我們在控制台裡列印一個向量的實例時,得到的字串可能會是。 >>>classExample:pass>>>print(str(Example()))>>>
