


$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 怎么写呢

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Automasi dan penjadualan tugas memainkan peranan penting dalam menyelaraskan tugasan berulang dalam pembangunan perisian. Bayangkan terdapat skrip Python yang perlu dilaksanakan setiap 5 minit, seperti mendapatkan data daripada API, melakukan pemprosesan data atau menghantar kemas kini berkala. Menjalankan skrip secara manual dengan kerap boleh memakan masa dan terdedah kepada ralat. Di sinilah penjadualan tugas masuk. Dalam catatan blog ini, kami akan meneroka cara menjadualkan skrip Python untuk dilaksanakan setiap 5 minit, memastikan ia berjalan secara automatik tanpa campur tangan manual. Kami akan membincangkan kaedah dan perpustakaan berbeza yang boleh digunakan untuk mencapai matlamat ini, membolehkan anda mengautomasikan tugas dengan cekap. Cara mudah untuk menjalankan skrip Python setiap 5 minit menggunakan fungsi time.sleep() ialah menggunakan tim

Cara menggunakan Python untuk menulis dan melaksanakan skrip dalam Linux Dalam sistem pengendalian Linux, kita boleh menggunakan Python untuk menulis dan melaksanakan pelbagai skrip. Python ialah bahasa pengaturcaraan ringkas dan berkuasa yang menyediakan banyak perpustakaan dan alatan untuk menjadikan skrip lebih mudah dan lebih cekap. Di bawah ini kami akan memperkenalkan langkah asas cara menggunakan Python untuk penulisan dan pelaksanaan skrip dalam Linux, dan menyediakan beberapa contoh kod khusus untuk membantu anda memahami dan menggunakannya dengan lebih baik. Pasang Python

Ujian Brown-Forsythe ialah ujian statistik yang digunakan untuk menentukan sama ada varians dua atau lebih kumpulan adalah sama. Ujian Levene menggunakan sisihan mutlak daripada min, manakala ujian Brown-Forsythe menggunakan sisihan daripada median. Hipotesis nol yang digunakan dalam ujian adalah seperti berikut - H0: Varians kumpulan (populasi) adalah sama Hipotesis alternatif ialah varians tidak sama - H1: Varians kumpulan (populasi) tidak sama melaksanakan ujian, kami mengira median setiap kumpulan dan korelasinya dengan median. Sisihan mutlak bilangan digit. Kami kemudian mengira statistik F berdasarkan varians sisihan ini. Andaikan bahawa statistik F yang dikira adalah lebih besar daripada nilai kritikal dalam jadual taburan F. Dalam kes ini, kami menolak hipotesis nol dan membuat kesimpulan bahawa varians kumpulan adalah tidak sama. Dalam Python, sc

Bagaimana untuk menulis kod PHP dalam penyemak imbas dan mengekalkan kod daripada dilaksanakan? Dengan pempopularan Internet, semakin ramai orang mula berhubung dengan pembangunan web, dan pembelajaran PHP juga telah menarik lebih banyak perhatian. PHP ialah bahasa skrip yang berjalan di bahagian pelayan dan sering digunakan untuk menulis halaman web dinamik. Walau bagaimanapun, semasa fasa latihan, kami mahu dapat menulis kod PHP dalam penyemak imbas dan melihat hasilnya, tetapi kami tidak mahu kod itu dilaksanakan. Jadi, bagaimana untuk menulis kod PHP dalam penyemak imbas dan mengelakkannya daripada dilaksanakan? Ini akan diterangkan secara terperinci di bawah. pertama,

ANCOVA (analisis kovarian) ialah kaedah statistik yang berguna kerana ia membenarkan kemasukan kovariat dalam analisis, yang boleh membantu melaraskan pembolehubah tambahan dan meningkatkan ketepatan perbandingan antara kumpulan. Faktor tambahan atau kovariat ini boleh dimasukkan ke dalam kajian dengan menggunakan ANCOVA. Untuk memastikan bahawa perbezaan yang diperhatikan antara kumpulan disebabkan oleh rawatan atau campur tangan dalam kajian dan bukan oleh faktor luar, ANCOVA boleh digunakan untuk melaraskan kesan kovariat pada min kumpulan. Ini membolehkan perbandingan yang lebih tepat antara kumpulan dan memberikan kesimpulan yang lebih dipercayai tentang hubungan antara pembolehubah. Dalam artikel ini, kita akan melihat lebih dekat pada ANCOVA dan melaksanakannya dalam Python. Apakah ANCOVA? Kaedah Analisis kovarians (ANCOVA) membandingkan dua atau lebih kumpulan

Dalam persekitaran Linux, kita sering menghadapi situasi di mana kita perlu melaksanakan fail .sh. Fail .sh ialah fail skrip dalam sistem Linux, biasanya dengan .sh sebagai akhiran, digunakan untuk melaksanakan satu siri arahan. Tetapi kadangkala kami mungkin menghadapi masalah bahawa fail .sh tidak boleh dilaksanakan Ini mungkin disebabkan oleh isu kebenaran atau format pengekodan. Artikel ini akan memperkenalkan cara menangani isu pelaksanaan fail .sh dalam persekitaran Linux dan memberikan contoh kod khusus. 1. Tambah kebenaran pelaksanaan dalam sistem Linux jika a.

1Unit asas storan komputer Unicode ialah bait, yang terdiri daripada 8 bit. Memandangkan bahasa Inggeris hanya terdiri daripada 26 huruf ditambah beberapa simbol, aksara Inggeris boleh disimpan terus dalam bait. Tetapi bahasa lain (seperti Cina, Jepun, Korea, dll.) perlu menggunakan berbilang bait untuk pengekodan kerana bilangan aksara yang banyak. Dengan penyebaran teknologi komputer, teknologi pengekodan aksara bukan Latin terus berkembang, tetapi masih terdapat dua batasan utama: tiada sokongan berbilang bahasa: skema pengekodan satu bahasa tidak boleh digunakan dalam bahasa lain dan tiada standard bersatu: contohnya Terdapat banyak piawaian pengekodan dalam bahasa Cina seperti GBK, GB2312, GB18030, dsb. Memandangkan kaedah pengekodan tidak bersatu, pembangun perlu menukar berulang-alik antara pengekodan yang berbeza, dan banyak ralat pasti akan berlaku.

Apakah persamaan dan perbezaan antara __str__ dan __repr__? Kita semua tahu perwakilan rentetan fungsi repr() boleh menyatakan objek dalam bentuk rentetan untuk memudahkan pengenalan kita. Ini ialah "perwakilan rentetan". repr() mendapatkan perwakilan rentetan objek melalui kaedah khas __repr__. Jika __repr__ tidak dilaksanakan, apabila kita mencetak contoh vektor ke konsol, rentetan yang terhasil mungkin. >>>classContoh:lulus>>>cetak(str(Contoh()))>>>
