从String中删除代码并获取值

时间:2014-02-12 19:32:30

标签: php

我想删除此代码

[gallery columns="2" link="none" ids="69,50" orderby="rand"]

来自一个字符串。 [gallery .....]总是一样的,而且...改变了。我怎样才能做到这一点?然后我想将ids值保存在另一个字符串中。什么是最优雅的方式?谢谢。

1 个答案:

答案 0 :(得分:1)

以下Regex将匹配整个字符串以将其删除,并将在提取的组中包含ID:

/\[gallery .*?ids="(.*?)".*?\]/

此代码应该有效:

$string ='test i am test lol [gallery columns="2" link="none" ids="69,50" orderby="rand"] me also!';
preg_match('/\[gallery .*?ids="(.*?)".*?\]/', $string, $matches);

echo $matches[1]; // prints the ids

$string = preg_replace('/\[gallery .*?ids="(.*?)".*?\]/', '', $string);

echo $string; // prints the cleaned string