Php 将标签更改为图库

Php 将标签更改为图库,php,str-replace,Php,Str Replace,我需要将变量中的标记[gallery-1]从数据库替换为实际的gallery。问题是,那个图库是由标签中的那个数字表示的(我有多个图库或类别)。我尝试了stru_replace,但它无法解决数字问题。 我需要获取该数字,从库号X中选择图像,然后回显它们(根据该数字替换为内容)。如果要从字符串[gallery-1](包括括号)中获取整数,请尝试以下操作: $gallery = '[gallery-1]'; echo preg_replace('/\[gallery-(\d+)\]/', '$1',

我需要将变量中的标记[gallery-1]从数据库替换为实际的gallery。问题是,那个图库是由标签中的那个数字表示的(我有多个图库或类别)。我尝试了stru_replace,但它无法解决数字问题。

我需要获取该数字,从库号X中选择图像,然后回显它们(根据该数字替换为内容)。

如果要从字符串
[gallery-1]
(包括括号)中获取整数,请尝试以下操作:

$gallery = '[gallery-1]';
echo preg_replace('/\[gallery-(\d+)\]/', '$1', $gallery);
你的朋友是:

$code = "<p>Test...test...test...</p> [gallery-1]";

preg_match_all("/\[gallery-(\d+)\]/", $code, $matches);

$galleries = array();

foreach ($matches[1] as $id) {
  $galleries[$id] = // Somehow load a gallery basing on id;
}

foreach ($galleries as $id => $c) {
  $code = str_ireplace("[gallery-" . $id . "]", $c, $code);
}

echo $code;
$code=“测试…测试…测试…

[gallery-1]”; preg_match_all(“/\[gallery-(\d+)\]/”,$code,$matches); $gallers=array(); foreach($id与[1]匹配){ $galleries[$id]=//以某种方式根据id加载库; } foreach($id=>$c){ $code=str_-ireplace(“[gallery-”$id.]”,$c,$code); } echo$代码;

如果您仍然被确认,这里是。

str_replace('gallery-','',$gallery)应在不使用括号的情况下工作当使用preg*路线时,最好使用\d,因此preg_替换('/[gallery-(\d+)]/','$1',$gallery);你是说foreach
foreach
?这个看起来不错,但不起作用。因为这里应该是foreach吗??和$画廊=[];不太管用。我将其更改为$gallers=array(),但它不返回任何内容。我个人不知道,第二个foreach是如何工作的(有3个变量),应该有问题(或者我完全搞错了)。另外,
stru-ireplace
需要改成
$code=str-ireplace(“[gallery-”$id.]”,$c,$code”)
@ßluray、
$id
$c
代表数组中项目的键和值。@FelipeFrancisco,是的,有了这个小小的更新,它现在运行得很好